System and method for digital remote delivery of personalized crisis management for optimizing personalized treatment of substance use disorders

By using personalized digital therapy applications to adjust reinforcement and reward structures with real-time user data and providing a single integrated reward path, the problem of traditional CM methods being unable to be personalized or directly reinforce withdrawal in digital therapy platforms is solved, achieving efficient and low-cost CM results.

CN122177400APending Publication Date: 2026-06-09CLICK THERAPEUTICS INC

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
CLICK THERAPEUTICS INC
Filing Date
2025-06-16
Publication Date
2026-06-09

Smart Images

  • Figure CN122177400A_ABST
    Figure CN122177400A_ABST
Patent Text Reader

Abstract

Systems and methods for managing data structures for remote monitoring and validation of user devices are described herein. A computing system can maintain a data structure including an activity field and a validation field, and determine that activity data generated in response to a user performing an activity via an application satisfies an activity condition. The computing system can update the data structure to include an activity value, and receive validation data. The computing system can update the data structure to include a validation value, and perform an operation to update a profile using a token based on the activity value and the validation value. The computing system can improve the efficacy of a medication regimen for a user condition.
Need to check novelty before this filing date? Find Prior Art

Description

Cross-references to related applications

[0001] This application claims priority and benefit to U.S. Patent Application No. 18 / 974197, filed December 9, 2024, entitled “SYSTEMS AND METHODS FOR DIGITAL REMOTE DELIVERY OF PERSONALIZED CONTINGENCY MANAGEMENT TO OPTIMIZE INDIVIDUALIZED TREATMENT OF SUBSTANCE USE DISORDERS”, the entire contents of which are incorporated herein by reference. Technical Field

[0002] This disclosure generally relates to data processing techniques, and more specifically, to remote monitoring and verification of user equipment. Background Technology

[0003] Substance Use Disorder (SUD) is caused by persistent and compulsive use of alcohol, drugs, or other such substances, resulting in cognitive impairment, health risks, disability, and other negative effects. This condition is caused by a variety of psychological and social factors. Specific factors that can lead to SUD include genetics (e.g., family history of addiction), exposure to substance use (e.g., early exposure and use), stress, trauma, peer pressure, mental health disorders (e.g., post-traumatic stress disorder, depression, anxiety), coping mechanisms, chronic pain, lack of education, comorbid mental health disorders (e.g., bipolar disorder, borderline personality disorder), or poverty (e.g., limited educational or employment opportunities), among others.

[0004] This condition impacts the physical, social, psychological, and financial health, as well as the overall quality of life of affected individuals. SUD can lead to a range of health complications, such as liver disease, heart problems, or breathing difficulties. Furthermore, SUD can exacerbate symptoms of mental health disorders and increase the risk of self-harm. The overall quality of life of individuals with SUD is typically severely affected, leading to decreased life satisfaction. At the neurological level, substances alter neurotransmitter levels, leading to increased substance dependence and cravings. Continued substance abuse can cause structural changes in brain regions, such as the prefrontal cortex, and also result in cognitive impairments, such as memory loss and difficulty concentrating. For various other bodily health systems (such as the cardiovascular and liver systems), SUD can cause high blood pressure and increase the risk of heart disease, arrhythmias, hepatitis, constipation, malnutrition, lung infections, or pulmonary hypertension. SUD can also cause premature aging, such as wrinkles and skin discoloration, weight loss or gain, and declining dental health, such as cavities.

[0005] Individuals with substance abuse disorder (SUD) can wean off their dependence on substances through behavioral conditioning. One example treatment is contingency management (CM), a behavioral therapy technique that uses positive reinforcement to encourage individuals to achieve target behaviors (also known as operant conditioning interventions). In substance abuse treatment, CM involves providing positive reinforcement (e.g., in the form of rewards) as a response to evidence of withdrawal. CM works by the idea that immediate, tangible positive reinforcement reinforces desired behaviors, helping individuals overcome addiction and maintain recovery. At a neurological level, when an individual receives a reward after performing a positive behavior, the user's brain's reward system (e.g., the nucleus accumbens) releases dopamine. This dopamine release reinforces the behavior by establishing a positive association, making the individual more likely to repeat the behavior. Over time, repeated pairing of behavior with positive reinforcement can alter neural circuits, gradually changing behavioral patterns and reducing dependence on maladaptive behaviors associated with substance use. Traditionally, CM involves face-to-face interaction between the individual and caregivers to obtain immediate feedback.

[0006] In some traditional approaches to clinical management (CM), CM is typically implemented by intervening directly in specific target behaviors. The target behavior could be proven substance withdrawal or completing additional therapy-related activities. If two major categories of behaviors are targeted simultaneously, in traditional CM, these behaviors are reinforced through independent reinforcement pathways. In other words, reinforcement for one target behavior depends on the individual's history of successfully completing that target behavior along that pathway. Similarly, reinforcement for another target behavior depends on the individual's history of successfully completing that target behavior along that separate pathway. Having separate, independent reinforcement pathways can be counterproductive and lead to worse clinical outcomes because it weakens the impact of reinforcement on the individual, especially when the different behaviors have different levels of difficulty.

[0007] Traditional CM (Modified Mobilization) solutions have failed to be successfully implemented in digital therapy platforms due to various challenges encountered in offering them. First, traditional CM methods are not personalized for individual users and do not respond to dynamic changes in user progress, resulting in poor effectiveness. Second, traditional CM methods do not directly reinforce abstinence as the primary target behavior. Relatedly, traditional CM methods can be seen as a direct incentive for completing in-app activities, leading to regulatory, legal, and public image issues. Third, the presence of multiple target behaviors dilutes the incidental rewards of abstinence. Fourth, the time lag in reward acquisition caused by traditional CM methods fails to reinforce positive behavioral changes, such as negative drug tests. Fifth, the implementation cost of traditional CM methods is too high due to the presence of multiple target behaviors. Sixth, from the user's perspective, traditional CM methods with multiple target behaviors are overly complex. Summary of the Invention

[0008] To address these and other technical challenges of remotely implementing emergency management for individuals with substance abuse disorder, this paper details a digital therapy application that offers a novel emergency management (CM) approach by providing optimal, personalized positive reinforcement to best encourage desired behaviors, and through personalized support and engagement (RAISE). TM It provides rehabilitation and withdrawal support. The digital therapy applications described in this article offer numerous advantages.

[0009] First, this digital therapy application provides personalized clinical motivation (CM) by customizing reinforcement and reward structures based on specific user behavior and progress, and incorporating multidimensional data about the user and their condition. The algorithm used to provide positive reinforcement is dynamically adjusted based on real-time user data collected through the user's device. This approach ensures that the reinforcement provided is clinically effective, maximizes user engagement, and adapts to the evolving needs of a particular user over time.

[0010] Secondly, digital therapy apps provide a single, integrated primary reward path for users, offering rewards only in verified withdrawal situations, thus directly reinforcing withdrawal. By removing additional reward paths, concerns about rewards accumulating with activity completion (a direct financial incentive for some activities) or being used to purchase substances are eliminated, offsetting regulatory, legal, and public image concerns. The requirement for withdrawal verification to apply to rewards further mitigates this possibility. This is an improvement over traditional CM approaches that rely on restricting certain types of purchases. In contrast, the digital therapy app in this paper mitigates these risks by ensuring that personalized rewards are always consistent with withdrawal.

[0011] Third, directly rewarding withdrawal and indirectly rewarding activity completion also ensures that the reward value associated with the highest priority behavior (i.e., withdrawal) is not diluted by the completion of other target behaviors. Traditional CM methods using multiple independent reward paths lead to the accumulation of a large amount of reward on one path, which can reduce the reward value associated with another path, resulting in a reward dilution effect. This can be particularly problematic when one target behavior is easier to complete than another. For example, for some users, completing an in-app course may be easier than maintaining abstaining from substances for several days. Encouraging abstaining from substances and rewarding both equally would be problematic and counterproductive. The digital therapy app in this paper addresses this problem by directly reinforcing withdrawal and indirectly reinforcing activity completion through personalized withdrawal-related rewards.

[0012] Fourth, because positive reinforcement is closely correlated with the target behavior over time and is delivered to the user in a timely manner through the user's device, this can significantly improve the treatment effect of CM. Specifically, by utilizing remote monitoring and verification functions, the digital therapy application in this paper can reinforce proximal behavioral changes (e.g., negative drug detection), thereby providing timely support for withdrawal.

[0013] Fifth, the unique combination of direct and indirect reinforcement supports the inclusion of two distinct target behaviors at a reduced cost compared to independent direct reinforcement of each target behavior.

[0014] Sixth, a single integrated reward path that incorporates multi-dimensional aspects of direct and indirect reinforcement for various types of behavior is easier for users to track and understand. For example, digital therapy applications can display progress feedback on the opportunities to achieve milestones relative to both direct and indirect reinforcement in an easy-to-understand way. In contrast, traditional CM methods with multiple independent reward paths can confuse users when tracking progress over time.

[0015] The limitations of existing CM models can be addressed by incorporating the following elements of a digital therapy application detailed in this paper. The first element of CM delivery in a digital therapy application includes probabilistic rewards that positively reinforce completion of rehabilitation activities and withdrawal test verification. This personalized mechanism allows for indirect motivation of rehabilitation activities through access to a higher-value probabilistic reward pool after verification of withdrawal within a certain time window. This allows for reinforcement of treatment adherence and positive behavioral changes while still requiring verification of withdrawal to gain access to enhanced probabilistic rewards.

[0016] The second element includes reward-based reinforcement of validated withdrawal. Each reward opportunity depends directly on objective validation of withdrawal, such as receiving a negative result on a medication test. Whether positive reinforcement is drawn from one reward pool (e.g., a lower expectation) or another (e.g., a higher expectation) is influenced by the dynamic activation of the reinforcement algorithm.

[0017] The third element includes remote verification of target substance withdrawal. Objective withdrawal verification is conducted remotely to support reliable interaction with the digitally delivered CM. Test results obtained from remote sources are then extracted by the digital therapy application to determine the opportunity to provide the user with a probabilistic reward.

[0018] The fourth element includes remote verification of the completion of rehabilitation activities. To reinforce indicators of positive behavioral change, the completion of specific rehabilitation activities also requires remote verification. These activities can be conducted within an application (e.g., completing a personalized therapy session on the user's device) or offline (e.g., verifying activities through monitoring or submitting electronic documents).

[0019] These and other elements of the digital therapy application for CM represent a novel and unconventional solution to the complexities of digital therapy applications, particularly in the context of dealing with SUD. This digital therapy application employs a single integrated reward path that directly reinforces withdrawal while modifying rewards based on the completion of additional activities. This single integrated reward path can be personalized for each user and can be remotely implemented with CM. The integrated reinforcement structure, which supports sustained engagement and behavioral change without undermining the primary goal of withdrawal, also differs from traditional CM approaches.

[0020] Various aspects of this disclosure relate to systems and methods for providing activity and verification tests to facilitate withdrawal associated with a user's substance use. The system may include one or more processors coupled to a memory. The one or more processors may be configured to maintain a data structure including an activity field and a verification field for a profile associated with a user. The one or more processors may be configured to determine, via one or more event handlers executing on an application, that activity data generated in response to a user performing an activity through the application meets an activity condition. The one or more processors may be configured to update the data structure to include an activity value corresponding to the activity field in response to determining that the activity data meets the activity condition. The one or more processors may be configured to receive verification data associated with the user based on a verification test performed by the user. The one or more processors may be configured to update the data structure to include a verification value corresponding to the verification field in response to determining that the verification data meets the verification condition. The one or more processors may perform an operation to update the profile using a token based on the activity value and the verification value.

[0021] The one or more processors may be further configured to generate tokens as a function of at least one of the following: (i) updating a data structure to include at least one active value and at least one verification value a number of times; (ii) receiving multiple active datasets and verification datasets for a duration; (iii) updating the data structure to include at least one active value and at least one verification value within the duration; (iv) the percentage of at least one active value and at least one verification value updated in the data structure; (v) the type of activity; (vi) the type of verification test; or (vii) any combination of the foregoing. The function may include at least one of a probability function, a defined sequence, or a model.

[0022] In various implementations, the one or more processors may be further configured to determine, via one or more event handlers executing on the application, that subsequent activity data generated in response to a user performing a subsequent activity via the application satisfies subsequent activity conditions. The one or more processors may be configured to, in response to determining that the subsequent activity data satisfies the subsequent activity conditions, update a data structure to include a subsequent activity value corresponding to the subsequent activity field. The one or more processors may be configured to receive subsequent verification data associated with the user based on subsequent verification tests performed by the user. The one or more processors may be configured to, in response to determining that the subsequent verification data satisfies the subsequent verification conditions, update a data structure to include a subsequent verification value corresponding to the subsequent verification field. The one or more processors may be configured to perform subsequent operations to update the profile using a subsequent token based on the data structure.

[0023] The one or more processors may be further configured to generate tokens as a function of at least one of the following: (i) the time elapsed since token generation, (ii) the number of tokens generated for the profile, (iii) the type of token, or (iv) the size and / or probability of the token. The one or more processors may be further configured to generate multiple tokens, including at least the first token and subsequent tokens, using the function in response to performing corresponding multiple operations. The one or more processors may be further configured to generate tokens based on multiple weights corresponding to: (i) the number of times a data structure is updated to include at least one active value and at least one verification value, (ii) the duration of receiving multiple active datasets and verification datasets, (iii) the frequency with which the data structure is updated to include at least one active value and at least one verification value within the duration, (iv) the percentage of at least one active value and at least one verification value updated in the data structure, (v) the type of activity, (vi) the type of verification test, (vii) the time elapsed since token generation, (viii) the number of tokens generated for the profile, (ix) the type of token, (x) the size and / or probability of the token, or (xi) any combination of the foregoing.

[0024] The one or more processors may be further configured to generate multiple tokens using multiple weights in response to performing corresponding multiple operations. The one or more processors may be further configured to update at least one weight among the multiple weights in response to generating at least one token. The one or more processors may be further configured to: transmit instructions to a user device executing the application prompting the user to perform an activity via the application, and monitor the generation of activity data in response to the user's performance of the activity via the application through one or more event processors. The activity may be selected from activities related to cognitive behavioral therapy, activities related to psychoeducational courses, activities related to assessment, activities related to training exercises, activities related to tools, activities related to attendance, or activities related to conditions, illnesses, disorders, or symptoms.

[0025] The one or more processors may be further configured to determine, via a computing device external to the application, that activity data generated in response to user-performed activities meets activity conditions, and to update a data structure to include an activity value corresponding to the activity field in response to determining that the activity data meets the activity conditions. In various implementations, the one or more processors are further configured to transmit instructions to a user device executing the application to perform a verification test based on at least one of the following: (i) data associated with a sample from the user, (ii) biomarkers obtained from the user, (iii) measurement data from an instrument, (iv) uploading digital information to the application, (v) verification of the user's location; or (vi) data associated with laboratory tests provided by the user or laboratory; and to receive verification data associated with the user participating in a verification test via the application from the user device. The one or more processors may be further configured to receive verification data associated with the user participating in a remote test via the application according to the verification test from a computing device external to the application.

[0026] In various implementations, the verification test is based on at least one of the following: (i) laboratory testing, (ii) data associated with a sample from a user, (iii) biomarkers obtained from the user, (iv) measurement data from an instrument, (v) uploading digital information to the application, or (vi) verification of the user's location. The verification test can be performed to generate verification data including a score indicating at least one of the following: (i) the level of a substance in the user's body or (ii) the absence of a substance in the user's body. Substances may be selected from cannabis, cocaine, alcohol, heroin, amphetamine, opioids, nicotine, benzodiazepines, barbiturates, and their metabolites. The one or more processors may be further configured to monitor the reception of verification data for a period of time following the updating of the data structure to include the activity value corresponding to the activity field. The one or more processors may be further configured to monitor the reception of activity data for a period of time following the updating of the data structure to include the verification value corresponding to the verification field.

[0027] The one or more processors may be further configured to avoid updating the data structure to include the activity value corresponding to the activity field in response to determining that the activity data does not meet the activity conditions. The one or more processors may be further configured to generate a score indicating the number of times the data structure was updated to include the activity value and the verification value. The one or more processors may be further configured to provide a graphical user interface identifying multiple scores at multiple time points, each score indicating the corresponding number of updates to the data structure. The one or more processors may be further configured to set the eligibility field of the data structure to an eligibility value to allow updates to the activity field and the verification field. The one or more processors may be further configured to provide instructions via an application prompting the user to perform activity and verification tests in response to setting the eligibility field to an eligibility value. The one or more processors may be further configured to monitor the activity data and verification data in response to providing instructions. The one or more processors may be further configured to set the eligibility field to an eligibility value in response to at least one of the following: (i) completion of a previous activity and / or verification test, (ii) the number of activity and / or verification tests completed, or (iii) the percentage of activity and / or verification tests completed.

[0028] In various implementations, the one or more processors are further configured to identify previous activities and / or validation tests that will result in a qualification field reaching a qualification value based on applying historical data to the model. The one or more processors may be further configured to generate scores indicating the probability of allowing updates to the activity field and validation field, and to set the qualification field of the data structure to a qualification value in response to the score meeting a threshold. The one or more processors may be further configured to determine the number of times the qualification field of the data structure is set to a qualification value to allow updates to the activity field and validation field. Tokens may be rewards used to incentivize users to perform activities and validation tests to quit substances associated with substance abuse disorders. The one or more processors may be configured to perform the operation by transferring tokens to an account data structure associated with the user. The one or more processors may be configured to provide a schedule indicating the time of the activity and / or the time of the validation test. The one or more processors may be configured to provide notifications indicating the time of the activity and / or the time of the validation test. The user may be at risk of a substance abuse disorder or diagnosed with a substance abuse disorder, and wherein, in part concurrent with at least one of the activities or validation tests, the user is taking an effective amount of medication to treat the substance abuse disorder. The drug may be selected from acampolic acid, naltrexone, naloxone, disulfiram, gabapentin, methadone, baclofen, bupropion, clonazepam, remeron, GLP-1 receptor agonists, GIP receptor agonists, or any combination thereof. Attached Figure Description

[0029] The foregoing and other objects, aspects, features and advantages of this disclosure will become more apparent and better understood by referring to the following description taken in conjunction with the accompanying drawings, in which:

[0030] Figure 1 A block diagram is depicted for a system for presenting activities and verifying tests to address user material usage, according to an exemplary embodiment.

[0031] Figure 2 A block diagram depicting a process of providing instructions to a user to perform an activity according to an exemplary embodiment.

[0032] Figure 3 A block diagram depicting the process of providing instructions to a user to perform a verification test according to an exemplary embodiment.

[0033] Figure 4 A block diagram depicting the process of generating a token for a user according to an exemplary embodiment.

[0034] Figure 5 A block diagram depicting the process of determining user eligibility according to an exemplary embodiment.

[0035] Figure 6A-B depicts a screenshot of a set of example user interfaces used to perform activities and verification tests according to an exemplary embodiment.

[0036] Figure 7 A flowchart is shown illustrating a method for updating a data structure for a user to address the use of a substance, according to an exemplary embodiment.

[0037] Figure 8 This is a block diagram of a server system and a client computer system according to an exemplary embodiment. Detailed Implementation

[0038] For the purpose of reading the description of the various embodiments below, the following enumerated parts of this specification and their respective contents may be helpful:

[0039] Part A describes systems and methods for implementing emergency management to induce users to overcome substance use disorder (SUD).

[0040] Part B describes the network and computing environments that can be used to implement the embodiments described herein.

[0041] A. Systems and methods for implementing emergency management to induce users to overcome substance use disorder (SUD).

[0042] This paper introduces systems and methods for managing data structures to maintain data from diverse sources for monitoring and validation. The digital therapy application described herein enables the digital delivery and processing of treatments for targeted SUDs, such as recovery activities and validation tests. This digital therapy application can systematically reinforce target behaviors, such as withdrawal, by promoting positive behavioral change through rewards. The provision of rewards depends on successful completion of validation tests that verify the user's withdrawal status, thereby encouraging the maintenance and repetition of the target behavior over time. Validation tests can be performed remotely, with convenient access and support for user interaction with the digital therapy application. For example, users can provide images or videos in response to validation tests, and the test results can be interpreted and processed by the digital platform. To complement the completion of validation tests, the digital therapy application can also provide recovery activities to reinforce indicators of positive behavioral changes associated with withdrawal. Recovery activities may include, for example, cognitive activities or educational videos within the application.

[0043] Now for reference Figure 1The figure depicts a block diagram of a system 100 for presenting interactive sessions to facilitate user withdrawal substance use. Generally, system 100 may include at least one data processing service 105, at least one remote site 107, at least one user device 110, and at least one instrument device 111, all communicatively coupled to each other via at least one network 115. Remote site 107 may include remote device 109. User device 110 may include at least one application 125. Application 125 may include or provide at least one user interface 130 having one or more user interface (UI) elements 135A-N (collectively referred to as UI elements 135). Data processing service 105 may include at least one session processor 140, activity evaluator 145, verification evaluator 150, eligibility evaluator 155, token generator 160, and operation executor 165, etc.

[0044] Data processing service 105 may include or access at least one database 170. Database 170 may store, maintain, or otherwise contain one or more data structures 175A-N (collectively referred to as data structure 175). Data structure 175 may represent a user profile and include at least one or more activity fields 185A-N (collectively referred to as activity field 185), one or more authentication fields 190A-N (collectively referred to as authentication field 190), and one or more qualification fields 195A-N (collectively referred to as qualification field 195). Data structure 175 may be any type of data object maintained on database 170 to track activity field 185, authentication field 190, or qualification field 195, etc. In general, user device 110 and data processing service 105 may be part of a computing system to provide application 125.

[0045] More specifically, data processing service 105 (sometimes collectively referred to herein as a service) can be any computing device including one or more processors coupled with memory and software and capable of performing the various processes and activities described herein. Data processing service 105 can communicate with user equipment 110, remote site 107, and database 170 via network 115. Data processing service 105 can be located, situated, or otherwise associated with at least one server group. The server group can correspond to a data center, branch office, or site where one or more servers corresponding to data processing service 105 are located. Data processing service 105 can be located, situated, or otherwise associated with one or more user equipment 110. Some components of data processing service 105 can reside within the server group, and some components can reside within client devices. For example, data processing service 105 can operate on or reside on user equipment 110, and activity evaluator 145 can run or reside on the server group.

[0046] In data processing service 105, session processor 140 can initiate a session for a user through application 125. Activity evaluator 145 can evaluate activity data received from user device 110. Verification evaluator 150 can evaluate verification data received from user device 110. Qualification evaluator 155 can determine the user's qualifications. Token generator 160 can generate a token based on activity and verification data. Operation executor 165 can perform an operation based on the token to update the user profile.

[0047] Remote site 107 may be located, situated, or otherwise associated with at least one group of servers. This group of servers may correspond to a data center, branch office, or site where one or more servers corresponding to remote site 107 are located. Remote site 107 may be located, situated, or otherwise associated with one or more user devices 110. Remote site 107 may communicate with user device 110 and data processing service 105 via network 115. For example, remote site 107 may receive images (including video) from user device 110 to process and verify the user's withdrawal. The image may be an image of the user 210's eyes, saliva, and / or hair. Remote site 107 may process the image and transmit the processing result to data processing service 105. As another example, remote site 107 may receive instructions from data processing service 105 to provide the location of user device 110 for data processing service 105 to perform verification tests.

[0048] Remote site 107 may include remote device 109, which may be any computing device including one or more processors coupled to memory and software and capable of performing the various processes and activities described herein. Remote device 109 may control, monitor, or interact with user device 110 and data processing service 105 via network 115. Remote device 109 may also process information and / or instructions transmitted from at least one of user device 110 or data processing service 105. For example, remote device 109 may process and generate results from an image provided by user device 110. For example, remote device 109 may detect the eye color of user 210 based on the image and generate results based on that eye color. Remote site 107 may receive an image and provide it to remote device 109 for processing and to generate results. Then, at least one of remote site 107 or remote device 109 may transmit the results to, for example, data processing service 105.

[0049] User device 110 (sometimes referred to herein as an end-user computing device or client device) can be any computing device including one or more processors coupled to memory and software and capable of performing the various processes and activities described herein. User device 110 can communicate with data processing service 105 and database 170 via network 115. User device 110 can be a smartphone, other mobile phone, tablet computer, wearable device (e.g., smartwatch, glasses), or laptop computer. User device 110 can be used to access application 125. In some embodiments, application 125 can be downloaded and installed on user device 110 (e.g., via a digital distribution platform). In some embodiments, application 125 can be a web application with resources accessible via network 115.

[0050] Application 125 running on user device 110 may be a digital therapy application and may provide sessions (sometimes referred to herein as therapy sessions) to address substance use disorder (SUD). The user of application 125 may have been diagnosed with SUD or be at risk of SUD. For example, the user may use substances more frequently and in larger quantities, experience health problems such as respiratory illnesses, or experience withdrawal symptoms. Causes of SUD may include genetic, behavioral, environmental, physiological, and psychological factors. For example, individuals with a family history of SUD may have a higher sensitivity to substances and are at higher risk of addiction. In another example, socioeconomic status, such as economic hardship and poverty, may lead people to use substances as a coping mechanism.

[0051] Examples of SUD include opioid use disorder, alcohol use disorder, and narcotics use disorder. SUD can lead to physical health, mental health, social and economic problems, and other issues. Physical health effects may include heart disease (such as high blood pressure, arrhythmia, or cardiomyopathy), decreased lung function, lung damage, brain damage (such as neurotoxicity), or immunosuppression. The condition may impair or hinder interpersonal relationships, such as facing social stigma, and can lead to economic losses such as unemployment.

[0052] Users may receive treatment, at least partially concurrently, to address a condition or its side effects, which occurs at least partially alongside the intervention provided by application 125. For example, a user may be receiving treatment for SUD. Users may receive any number of sessions or any combination thereof, at least partially, concurrently with treatment. Treatment may include medication. Medications may be administered orally, intravenously, or topically. For example, medications may include acampranolol, naltrexone, naloxone, disulfiram, gabapentin, methadone, baclofen, bupropion, clonazepam, remeron, GLP-1 receptor agonists, GIP receptor agonists, or any combination thereof. Application 125 may enhance the efficacy of medications the user is taking to address the condition. Treatment may include cognitive behavioral therapy (CBT), emergency management, therapies, rehabilitation programs, or support groups.

[0053] Application 125 can be used to provide users with verification tests and activities to facilitate their substance withdrawal. These activities can be targeted at reducing substance use, such as those related to cognitive behavioral therapy, psychoeducation, or training exercises. Verification tests can be specifically designed to verify a user's continued withdrawal, such as laboratory tests, uploaded digital information, or location verification. Providing users with digital therapies through Application 125 can address the adverse effects of SUD.

[0054] Application 125 may include, present, or otherwise provide a user interface 130, comprising one or more UI elements 135, to a user of user device 110, depending on the configuration on application 125. UI elements 135 may correspond to visual components of user interface 130, such as command buttons, text boxes, checkboxes, radio buttons, menu items, and sliders. In some embodiments, application 125 may be a digital therapy application and may provide one or more sessions (sometimes referred to herein as therapy sessions) via user interface 130 to address a user's physical access barriers.

[0055] Instrument 111 (sometimes referred to herein as a wearable technology device, wearable device, or device) may be a computing device capable of collecting measurement data from user 210. Instrument 111 may be a wearable technology device worn by user 210, such as a fitness tracker, watch, pedometer, microneedle device, or heart rate monitor. Instrument 111 may provide measurement data to, for example, remote device 109 or data processing service 105 to determine the verification tests to be performed on user 210. Instrument 111 may communicate with data processing service 105, remote site 107, user device 110, and database 170 via network 115 or the like.

[0056] Database 170 can store and maintain various resources and data associated with data processing service 105 and application 125. Database 170 may include a database management system (DBMS) to arrange and organize the data maintained thereon. Database 170 can communicate with data processing service 105 and one or more user devices 110 via network 115. When performing various operations, data processing service 105 and application 125 can access database 170 to retrieve identified data from it. Data processing service 105 and application 125 can also write data to database 170 by performing such operations.

[0057] Such operations may include the maintenance of data structure 175. Database 170 may maintain data structure 175. Data structure 175 may be included in a profile associated with a user. As described herein, data structure 175 may include information related to a user's condition (e.g., SUD). For example, data structure 175 may include information related to the severity of the condition, the occurrence of the condition (such as the occurrence of symptoms associated with the condition), medications or treatments taken by the user for the condition, and / or the duration of the condition. Data structure 175 may be updated in response to plans, periodically (e.g., daily, weekly), in response to changes in user information (e.g., input by the user via user interface 130 or learned from user device 110), or in response to a clinician's (e.g., a doctor or nurse) handling of the user's condition. Data structure 175 may be used to track values ​​corresponding to user completion of activities or tests to facilitate a unified reward path for performing emergency management (CM).

[0058] Data structure 175 can store and maintain information related to the user of application 125 via user device 110. Each data structure 175 can be associated with or correspond to a corresponding user of application 125. Data structure 175 can contain or store information about each session performed by the user. Information for the session can include various parameters, actions, audio, images (including video), prompts, or selections or actions from previous sessions performed by the user, and can be initially empty. For example, data structure 175 includes an activity field 185, a verification field 190, and a qualification field 195. Each field can store a value corresponding to, for example, the completion of an activity, the completion of a verification test, or the completion of a qualification determination. Data structure 175 can allow for simplified communication with the user by presenting a session to the user, which is at least based on data structure 175 and is most likely to help the user resolve their SUD. This targeted approach can reduce the need for multiple communications with the user, thereby reducing bandwidth and increasing the efficiency of user interaction with the computer.

[0059] In some embodiments, data structure 175 may identify or include information about the treatment regimens performed by the user, such as the type of treatment (e.g., therapy, medication, or psychotherapy), duration (e.g., days, weeks, or years), and frequency (e.g., daily, weekly, quarterly, or annually). Data structure 175 may be stored and maintained in database 170 using one or more files (e.g., Extensible Markup Language (XML), comma-separated value (CSV) text files, or Structured Query Language (SQL) files). Data structure 175 may be iteratively updated as the user provides a response, makes a selection, and performs session-related actions. Data structure 175 may also be updated via operation executor 165 based on values ​​generated by activity evaluator 145, verification evaluator 150, eligibility evaluator 155, and tokens generated by token generator 160.

[0060] On database 170, each data structure 175 may include an activity field 185 corresponding to an activity value generated by activity evaluator 145. Activity field 185 may be updated based on the activity value. Database 170 may include a verification field 190 corresponding to a verification value generated by verification evaluator 150. Verification field 190 may be updated depending on the completion and result of the verification test. Database 170 may include a qualification field 195. Qualification field 195 may correspond to a qualification value generated by qualification evaluator 155. Qualification field 195 may be set before the qualification value is generated. For example, a user's qualification may be determined before the first session.

[0061] Now for reference Figure 2 This diagram depicts a process 200 through which system 100 provides instructions to user 210 to perform an activity. Process 200 may include or correspond to operations performed by system 100 to receive and process data provided by user 210. Under process 200, session processor 140, executing on data processing service 105, may create, write, or otherwise generate one or more instructions 205 (collectively referred to herein as instructions 205). Prior to generating instruction 205, eligibility field 195 may have been set to indicate eligibility of user 210. User eligibility may refer to the eligibility of user 210 to receive a reward based on verification of user 210's use of abstinence substances. For example, session processor 140 may avoid generating instruction 205 in response to eligibility field 195 indicating that user 210 is not eligible (e.g., not abstinent).

[0062] Instruction 205 may include prompts (e.g., messages) for user 210 to perform activities via application 125. Session processor 140 may select the activities to be included in instruction 205. Session processor 140 may select the activity from those related to cognitive behavioral therapy (e.g., psychotherapy to change mindset), activities related to psychoeducation courses (e.g., information about mental health status), activities related to assessment (e.g., testing), activities related to training exercises (e.g., fitness), activities related to tools (e.g., within an application, related to mental health), activities related to attendance (e.g., attending a group therapy session), or activities related to a condition, illness, disorder, or symptom (e.g., learning about an illness).

[0063] When generating instruction 205, session processor 140 can identify and select activities based at least on data structure 175. These activities can be stored using one or more files on database 170. For example, the activity could be a message prompting a 10-minute walk. As another example, the activity could be an in-app (e.g., application 125) or out-of-app activity, such as a cognitive activity or a psychoeducational course. In-app activities could include therapeutic activities or rehabilitation tools located within application 125. For example, application 125 could include educational videos about mental health, and instruction 205 could require user 210 to watch and take a quiz in one of the educational videos. Out-of-app activities could include verification of activity completion via location, activity monitoring, or electronic documents. For example, verifying location could ensure user 210 attends a group therapy session. Session processor 140 can select different activities for users with alcohol use disorder and users with opioid use disorder. As another example, session processor 140 can select activities based on previous updates to data structure 175, such as the duration between setting eligibility field 195 and generating instruction 205.

[0064] By generating the instruction 205, the session processor 140 can send, provide, or otherwise transmit instructions 205 to user equipment 110 (or remote device 109 or instrumentation 111). The transmission of instructions 205 can be scheduled (e.g., every 1 day to 2 weeks). Instructions 205 can take various formats associated with application 125. In some embodiments, instructions 205 can be displayed, rendered, or otherwise presented to user 210 via user interface 130 of application 125. In some embodiments, instructions 205 may include Short Message Service (SMS) (e.g., text messages) or Multimedia Messaging Service (MMS) (e.g., audio messages, video messages).

[0065] In some embodiments, instruction 205 may include a schedule indicating the time of an activity. For example, instruction 205 may be provided to user device 110 before instructing user 210 to perform an activity. Instruction 205 may instruct user 210 to perform the activity at the location and time. Session processor 140 may also generate a notification for user device 110 to view, instructing user 210 to perform the activity at the time. This notification may be displayed for user 210 to view via UI element 135 on user device 110. Instruction 205 may display a schedule indicating different times to perform the activity, such as different times of day or different dates.

[0066] Application 125 on user equipment 110 can retrieve, identify, or otherwise receive instructions 205 from data processing service 105. Upon receiving instruction 205, application 125 on user equipment 110 can parse instruction 205 to identify an activity provided by data processing service 105. In some embodiments, application 125 can use instruction 205 to display, render, or otherwise present user interface 130. Application 125 can then prompt or instruct user 210 to perform the activity indicated by instruction 205. After transmitting instruction 205, session processor 140 can monitor the generation of activity data 220 as user 210 performs the activity via application 125. For example, application 125 may include one or more event processors executing thereon. Event processors may correspond to components on user interface 130 of application 125 that wait for events to occur to monitor the generation of activity data 220. Upon detecting execution in an activity, application 125 can generate data associated with the activity as user 210 performs the activity. Once user 210 completes the activity, application 125 can retrieve activity data 220. Once activity data 220 is generated, application 125 can record user 210's response 215, which includes the activity data 220. Response 215 can instruct user 210 to perform the activity.

[0067] In some embodiments, instrument 111 (or remote device 109) may retrieve, identify, or otherwise receive instruction 205 directly from data processing service 105 or indirectly via application 125. Upon receiving instruction 205, instrument 111 may parse instruction 205 to identify an activity provided by data processing service 105. In some embodiments, instrument 111 may use instruction 205 to display, render, or otherwise present user interface 130. Instrument 111 may then prompt or instruct user 210 to perform the activity indicated by instruction 205. After transmitting instruction 205, session processor 140 may monitor the generation of activity data 220 as user 210 performs the activity via instrument 111. For example, instrument 111 (or any application on it) may include one or more event processors executing thereon. Event processors may correspond to components on user interface 130 of instrument 111 that wait for events to occur to monitor the generation of activity data 220. Upon detecting execution in an activity, instrument 111 may generate data associated with that activity as user 210 performs the activity. After user 210 completes the activity, instrument 111 can acquire activity data 220. After activity data 220 is generated, instrument 111 can record user 210's response 215, which includes activity data 220. Response 215 can instruct user 210 to perform the activity.

[0068] Activity evaluator 145 can retrieve, identify, or otherwise receive responses 215 from user equipment 110 (e.g., via an event handler on application 125) or instrumentation 111. Upon receiving these responses, activity evaluator 145 can determine whether activity data 220 generated in response to user 210 performing an activity via application 125 meets activity conditions. Activity conditions can be prerequisites for completing an activity field 185 of a data structure 175 to be updated. In some embodiments, activity conditions can be thresholds. For example, activity conditions can include a threshold for the percentage of activity completed. Therefore, activity data 220 meets activity conditions in response to being at or above a threshold. For example, in response to an activity being a 10-minute walk, activity data 220 representing a 10-minute walk may meet an activity condition with a threshold of 8 minutes of walking.

[0069] When activity data 220 meets the activity conditions, activity evaluator 145 can generate at least one activity value 225. Activity value 225 can indicate the value to be set in activity field 185 to indicate the completion of the activity indicated in instruction 205. Activity value 225 can be a Boolean value, a numeric value, or an enumerated value, etc. Activity evaluator 145 can then update data structure 175 with activity value 225. For example, activity value 225 corresponds to activity field 185. Activity evaluator 145 can then update activity field 185 with activity value 225. Conversely, when activity data 220 does not meet the activity conditions, activity evaluator 145 can avoid generating activity value 225 and avoid updating data structure 175. For example, in response to an activity of 10 minutes of walking, activity data 220 can indicate that user 210 only walked for 7 minutes. In this case, activity evaluator 145 can determine that activity data 220 does not meet the activity condition of walking at least 10 minutes. In some embodiments, the activity evaluator 145 may transmit or send a message or notification to the user 210 indicating that the performed activity does not meet the activity conditions.

[0070] Now for reference Figure 3 This diagram depicts a process 300 in which system 100 provides instructions to user 210 for verification testing. Process 300 may include or correspond to operations performed by system 100 to receive and process data provided by user 210. Under process 300, session processor 140, executing on data processing service 105, may create, write, or otherwise generate one or more instructions 305 (collectively referred to herein as instructions 305).

[0071] Instruction 305 may include a prompt or instruction for user 210 to perform a verification test to verify user 210's use of withdrawal substances. Instruction 305 may instruct or identify the execution of the verification test. In some embodiments, the verification test may be performed via user device 110 or instrument device 111. In some embodiments, the verification test may be data associated with a sample from user 210 (e.g., using image data, audio data, or video data about user 210). For example, the verification test may verify user 210's withdrawal based on an image or video of an oral swab pressed against user 210's cheek. In some embodiments, the verification test may be based on biomarkers obtained from user 210. Biomarkers can include, for example, urine biomarkers (such as benzoylecone for cocaine, norcodeine for opioids, or tetrahydrocannabinol (THC) for cannabis), blood biomarkers (such as blood alcohol concentration, benzoylecone for cocaine, heroin metabolites, amphetamine levels), saliva biomarkers (such as THC, heroin metabolites, amphetamine, or alcohol levels), respiratory biomarkers (such as ethanol), and hair biomarkers (such as metabolites, THC, or benzodiazepines).

[0072] In some embodiments, the verification test may be based on measurement data from instrument 111. The measurement data may include various physiological measurements, such as irregular heartbeats indicative of tachycardia, slowed breathing, sweating, cortisol levels, pupillary dilation, etc. In some embodiments, the verification test may upload digital information (e.g., alcohol test results, etc.) to application 125. In some embodiments, the verification test may be verification of the location of user 210. For example, the verification test may identify the user's location and time based on at least one of user device 110 or instrument 111. In some embodiments, the verification test may be data associated with a laboratory test provided by user 210 or a laboratory (e.g., blood test results).

[0073] In some embodiments, the verification test indicated in instruction 305 may be performed at a remote site 107 or by a remote device 109 to verify that user 210 has not used the substance. In some embodiments, the verification test may be based on laboratory tests (e.g., blood, urine). For example, the verification test may be a virtual toxicology test, such as prompting user 210 to take a photograph of a saliva sample. In some embodiments, the verification test may be based on data associated with user 210's sample. For example, the verification test may be a remote verification test and require user 210 to take a photograph of their eyes. In some embodiments, the verification test may be based on biomarkers obtained from user 210. For example, the verification test may be a personal, point-of-care diagnostic test, a laboratory-based test, a biomarker-based test, or a wearable device test. In some embodiments, the verification test may be based on measurement data from instrument 111 (e.g., blood pressure). In some embodiments, the verification test may be based on uploading digital information (e.g., daily exercise) to application 125. In some embodiments, the verification test may be based on verification of user 210's location.

[0074] After generation, session processor 140 may send, provide, or otherwise transmit instruction 305 to user device 110, remote device 109, or instrumentation 111. In some embodiments, instruction 305 includes a schedule indicating the timing of a verification test. For example, instruction 305 may be provided before the time when user 210 performs or enters information about the verification test. In some embodiments, data processing service 105 may schedule verification tests for user 210 at a laboratory location. When the verification test is performed by user 210 (e.g., in contrast to a verification test performed by instrumentation 111 or remote device 109), session processor 140 may generate a notification to user device 110 informing user 210 that the verification test is complete. For example, the transmission of instruction 305 may be based on a schedule dependent on user 210's substance usage history. For example, instruction 305 may be provided more frequently to users with longer substance usage histories than to users with shorter substance usage histories. In some embodiments, instruction 305 includes notifying user 210 that data processing service 105 is receiving measurement data from instrumentation 111 to perform a verification test. Session processor 140 can select validation tests based on the status of user 210. Session processor 140 can also select validation tests based on the number of times validation field 190 is updated.

[0075] Application 125 on user device 110 can retrieve, identify, or otherwise receive instructions 305 from data processing service 105 to perform a verification test via user device 110. Upon receiving instruction 305, application 125 can parse instruction 305 to identify the verification test to be performed by user 210. Application 125 can implement, execute, or otherwise perform the verification test according to instruction 305. In some embodiments, application 125 can use instruction 305 to display, render, or otherwise present user interface 130. Application 125 can then prompt or instruct user 210 to perform a verification test in response to receiving instruction 305. For example, according to instruction 305, application 125 can prompt the user to collect an oral swab and then use the camera of user device 110 to acquire an image (including video) of the swab. Using the acquired image, application 125 can apply computer vision (e.g., a trained machine learning model) to determine whether the user has quit the substance.

[0076] When performing a verification test on user 210, application 125 may create, generate, or otherwise generate at least one response 315 including verification data 320. Verification data 320 may instruct user 210 to complete the verification test and the result of the verification test. For example, verification data 320 may include confirmation of completion of a blood test and include the result of the blood test. In some embodiments, when generating response 315, application 125 may determine that verification data 320 includes a fraction indicating the level of a substance in user 210's body. In some embodiments, when generating response 315, application 125 may determine that verification data 320 includes a fraction indicating the absence of a substance in user 210's body. This substance may be selected from at least one of cannabis, cocaine, alcohol, heroin, amphetamine, opioids, nicotine, benzodiazepines, barbiturates, and their metabolites.

[0077] Instrument 111 can retrieve, identify, or otherwise receive instructions 305 from data processing service 105 to perform a verification test via instrument 111. Instructions 305 can be received directly from data processing service 105 or indirectly via user equipment 110. Instrument 111 can retrieve, identify, or otherwise receive instructions 305 from data processing service 105 to perform a verification test via user equipment 110. Upon receiving instructions 305, instrument 111 can parse instructions 305 to identify the verification test to be performed by user 210. Instrument 111 can implement, execute, or otherwise perform the verification test according to instructions 305. For example, according to instructions 305, instrument 111 can obtain physiological measurement data from user 210, such as heart rate or cortisol levels from the user's blood. Using the obtained measurement data, instrument 111 can determine whether the user has abstained from the substance.

[0078] When performing a verification test on user 210, instrument 111 may create, generate, or otherwise generate at least one response 315 including verification data 320. Verification data 320 may instruct user 210 to complete the verification test and the results of the verification test. For example, verification data 320 may include confirmation of completion of a blood test and include the results of the blood test. In some embodiments, when generating response 315, instrument 111 may determine that verification data 320 includes a score indicating the level of a substance in user 210's body. For example, when the verification test is based on a biomarker test, instrument 111 may generate or otherwise calculate a score indicating the level of a substance in user 210's body based on the level of a biomarker detected in user 210's body. In some embodiments, when generating response 315, instrument 111 may determine that verification data 320 includes a score indicating the absence of a substance in user 210's body.

[0079] Remote device 109 can retrieve, identify, or otherwise receive instructions 305 from data processing service 105 to perform verification tests on user 210 at remote site 107. Remote device 109 can retrieve, identify, or otherwise receive instructions 305 from data processing service 105 to perform verification tests via remote device 109. Instructions 305 can be received directly from data processing service 105 or indirectly via user equipment 110. Remote device 109 can retrieve, identify, or otherwise receive instructions 305 from data processing service 105 to perform verification tests via user equipment 110. Upon receiving instructions 305, remote device 109 can parse instructions 305 to identify the verification test to be performed by user 210. Remote device 109 can implement, execute, or otherwise perform verification tests according to instructions 305. For example, when the verification test needs to verify the location of user 210, the remote device 109 can determine whether user 210 is in a specific location, and use this as a substitute indicator to determine whether user 210 should continue to abstain.

[0080] When performing a verification test on user 210, remote device 109 may create, generate, or otherwise generate at least one response 315 including verification data 320. Verification data 320 may instruct user 210 to complete the verification test and the result of the verification test. In some embodiments, when generating response 315, remote device 109 may determine that verification data 320 includes a score indicating the level of a substance in user 210's body. In some embodiments, when generating response 315, remote device 109 may determine that verification data 320 includes a score indicating the level of a substance in user 210's body.

[0081] The verification evaluator 150 can retrieve, identify, or otherwise receive a response 315, which includes verification data 320 from at least one of the application 125, instrumentation 111, or remote device 109. Based on the verification data 320, the verification evaluator 150 can identify or determine whether the verification data 320 meets verification conditions (e.g., in a manner similar to activity conditions). Verification conditions can be prerequisites for completing the activity of verification field 190 of the data structure 175 to be updated. In some embodiments, verification conditions can specify a threshold related to the level of a substance in the body of user 210, wherein the absence of the substance in the body of user 210 is negligible or zero. Verification conditions can depend on the SUDs present in user 210 and / or substances detected in the body of user 210. Verification conditions can also depend on the type of verification test. For example, the threshold for an ethanol biomarker test may be higher than the threshold for a morphine biomarker test.

[0082] When verification data 320 meets the verification conditions, verification evaluator 150 can generate, calculate, or otherwise determine a verification value 325 corresponding to verification field 190. Verification value 325 can indicate the level or absence of a substance in the user 210's body. Verification evaluator 150 can generate verification value 325 as a function of the detected substance level in the user 210's body. Verification value 325 can be a numerical value, a Boolean value, or an enumerated value, etc. Verification evaluator 150 can then update data structure 175 with verification value 325. Verification value 325 can also indicate the period of time during which the user 210 has abstained from substance use. For example, verification evaluator 150 can determine verification value 325 as a function of time and verification data 320.

[0083] When verification data 320 does not meet the verification conditions, verification evaluator 150 avoids generating verification value 325 and updating data structure 175. In this case, session processor 140 may transmit a notification to user 210, informing user 210 that verification data 320 does not meet the verification conditions. Verification evaluator 150 may also receive a message from user 210 indicating a reason for absence. Verification evaluator 150 may receive a message in response to determining that verification data 320 does not meet the verification conditions. In response to the verification absence, verification evaluator 150 may generate verification value 325 based on the absence. In this case, verification value 325 may be non-negative.

[0084] The above process can be repeated any number of times. In some embodiments, session processor 140 can generate follow-up instructions prompting the execution of an activity and / or a verification test. Based on these instructions, activity evaluator 145 can receive follow-up activity data and, in response to user 210 executing a follow-up activity, determine that the follow-up activity data satisfies the follow-up activity conditions. The follow-up activity, follow-up activity conditions, and follow-up activity data can be received and / or executed after the activity, activity conditions, and activity data 220. The follow-up activity, follow-up activity conditions, and follow-up activity data can be different from the activity, activity conditions, and activity data 220. In response to determining that the follow-up activity data satisfies the follow-up activity conditions, activity evaluator 145 generates a follow-up activity value corresponding to the follow-up activity field. Then, activity evaluator 145 can update data structure 175 with the follow-up activity value. Activity evaluator 145 can generate the follow-up activity value after activity value 225 is generated.

[0085] The verification evaluator 150 can also receive subsequent verification data associated with user 210, based on subsequent verification tests performed by user 210. These subsequent verification tests can differ from the initial verification test. When the subsequent verification data meets the subsequent verification conditions, the verification evaluator 150 can update the data structure 175 with the subsequent verification value corresponding to the subsequent verification field. The subsequent verification field can be the verification field 190 updated with the verification value 325. The verification evaluator 150 can receive subsequent verification data after receiving the verification data 320.

[0086] The verification evaluator 150 (or activity evaluator 145) may also monitor the reception of verification data 320 or activity data 220 for a duration following an update of data structure 175 using at least one of activity value 225 or verification value 325. The verification test may be provided to user 210 within a predetermined time period after the activity is executed. To maximize the effectiveness of the activity, the activity may be provided to user 210 within a predetermined time period after the verification test is executed. In some embodiments, the predetermined time period may be indicated in a timetable provided to user 210 via at least one of instruction 205 or instruction 305. At least one of instruction 205 or instruction 305 may provide notification of the activity time and verification test time, as well as the indicated time.

[0087] Now for reference Figure 4 This diagram depicts a block diagram of a process 400 for generating a token 405 in response to updates to data structure 175 by activity evaluator 145 and verification evaluator 150. Process 400 may include or correspond to operations performed by system 100 to receive and process data provided by user 210. Under process 400, token generator 160 may calculate, determine, or otherwise generate token 405 based at least on activity value 225 and verification value 325. The generation of token 405 may respond to the setting of activity field 185 by activity value 225 and the setting of verification field 190 by verification value 325 in data structure 175.

[0088] Token 405 may be a piece of data representing the result of user 210's performance on an activity and / or verification test. In some embodiments, token 405 may be a reward (or positive reinforcement) used to induce user 210 to perform the activity and verification test to quit substances associated with SUD. Therefore, token 405 can incentivize not only user 210 to perform both the activity and verification test, but also to incentivize the activity data 220 and verification data 320 generated from completing the activity and verification test to meet the activity conditions and verification conditions, respectively. The reward may be, for example, a monetary reward. The reward may be intangible, such as a certificate or badge reflecting the progress achieved by user 210. At a neurological level, token 405 may be provided to user 210 to activate reward centers in the brain (e.g., ventral striatum, prefrontal cortex, amygdala, anterior cingulate cortex, insular cortex, and hippocampus) to induce user 210 to change their behavior and reduce substance abuse.

[0089] In some embodiments, token 405 can represent various parameters, such as the probability of token 405. Token 405 can be probabilistic. For example, a higher value (e.g., size) of token 405 can be generated in response to verified withdrawal over a longer period of time, as the probability of generating a higher value increases over time. As another example, verification data 320 satisfying the verification condition may have a higher probability of generating a higher value token 405 compared to activity data 220 satisfying the activity condition while verification data 320 does not.

[0090] As data structure 175 is updated with activity value 225 and verification value 325, token generator 160 can generate token 405. Token generator 160 may include function 410 to compute, determine, or otherwise generate token 405. Function 410 may include at least one of a probability function, a defined sequence, or a model. Typically, function 410 may include at least one input corresponding to token 405 (e.g., at least a portion of data structure 175 or an indication that data structure 175 has been updated) and at least one output.

[0091] In some embodiments, function 410 may be a probability function, such as a random process or probability distribution (e.g., Bernoulli distribution, binomial distribution, geometric distribution, Poisson distribution, Zipf distribution, Gaussian distribution, exponential distribution, gamma distribution, chi-square distribution, or Cauchy distribution). The probability function can be used to generate random values ​​for token 405. In some embodiments, function 410 may be a defined sequence. This sequence can identify a sequence of token values ​​to be provided to user 210 within a set time period (e.g., during activities and validation tests). The sequence may also include a correlation between inputs (e.g., update counts) and a specified value for token 405. In some embodiments, the defined sequence may include a formula or rule specifying the sequence values. In this case, function 410 may generate token 405 based on a rule, for example, by applying the number of updates to data structure 175 to the rule.

[0092] In some embodiments, function 410 can be a model. Function 410 can be a machine learning model based on an architecture. The architecture of the machine learning model can include, for example, deep learning neural networks (e.g., convolutional neural network architecture, residual network, or transformer-based architecture), regression models (e.g., linear regression models or logistic regression models), random forests, gradient boosting, K-nearest neighbor classifiers and / or regressors, support vector machines (SVM), clustering algorithms (e.g., K-nearest neighbors), or Naive Bayes models, and can be supervised, unsupervised, or self-supervised. Typically, a machine learning model can have at least one input and one output. The input and output can be correlated via a set of weights. The input can be data from a user, etc., and the output can include the value of token 405.

[0093] The model of function 410 can be trained using a training dataset. The training dataset can contain a set of examples, including sample inputs (e.g., sample activity fields, sample validation fields, and sample eligibility fields for a data structure) and sample outputs (e.g., token values). For initialization, the values ​​of this set of weights in the model of function 410 are set to initial values ​​(e.g., random or defined values). For training, sample inputs can be provided to function 410 to generate output tokens. After output, the output tokens can be compared with the sample tokens. Based on this comparison, a loss metric can be determined according to a loss function (e.g., mean squared error, cross-entropy loss, Hinge loss, or Huber loss). Using the loss metric, one or more weights of the model can be updated. The weight updates can be based on backpropagation and an optimization function (sometimes referred to as the objective function in this paper) with one or more parameters (e.g., learning rate, momentum, weight decay, and number of iterations). The optimization function can define one or more parameters under which the model's weights are updated. The optimization function can be based on stochastic gradient descent and can include, for example, adaptive moment estimation (Adam), implicit update (ISGD), and adaptive gradient algorithm (AdaGrad). The model can be updated iteratively until it converges.

[0094] Token generator 160 generates token 405 through evaluation function 410, which uses one or more of the following: the number of times data structure 175 is updated to include at least one activity value 225 and at least one verification value 325 (e.g., the number of times verification data 320 and activity data 220 satisfy verification and activity conditions, respectively); the duration of receiving a set of activity datasets and verification datasets; the frequency of updating data structure 175 to include at least one activity value 225 and at least one verification value 325 within the duration; the percentage of at least one activity value 225 and at least one verification value 325 updated in data structure 175; the type of activity (e.g., training exercise, psychoeducation) or the type of verification test (e.g., laboratory, location); etc. The set of activity datasets and verification datasets can be a set of activity values ​​225 and verification values ​​325. The percentage of activity values ​​225 and verification values ​​325 can be based on the percentage of updates to data structure 175 compared to the number of activities and / or verification tests performed by user 210. For example, token generator 160 can generate token 405 based on the number of updates to data structure 175 and the type of activity performed by user 210.

[0095] In some embodiments, token generator 160 may generate token 405 based on previous token generation. Previous token generation may be maintained on data structure 175. In some embodiments, token generator 160 may generate token 405 as a function 410 of one or more of the following: the time elapsed since token 405 was generated (e.g., time between token generation), the number of tokens 405 generated for a profile (e.g., data structure 175), the type of token 405 (e.g., based on the type of validation test), the size and / or probability (e.g., value) of token 405, etc. For example, token generator 160 may use previous token generation as input to function 410 to generate the value of the next token 405 to be assigned to data structure 175 for user 210.

[0096] In some embodiments, function 410 may also include a set of weights 415A-N (referred to herein as a set of weights 415). Token generator 160 may generate token 405 according to and / or according to the set of weights 415. This set of weights 415 may correspond to one or more of the following: the number of times data structure 175 is updated to include at least one active value 225 and at least one verification value 325; the duration of receiving a set of active datasets and verification datasets; the frequency with which data structure 175 is updated to include at least one active value 225 and at least one verification value 325 within the duration; the percentage of at least one active value 225 and at least one verification value 325 updated in data structure 175; the type of activity; the type of remote verification test; the time elapsed since token 405 was generated; the number of tokens 405 generated for the profile (e.g., data structure 175), the type of token 405; the size and / or probability of token 405, etc. Using the weights 415 of function 410, token generator 160 may evaluate inputs (e.g., as listed herein) to generate output token 405. At each evaluation, the token generator 160 may update at least one of the weights 415. The update may be to set the value of the weight 415 to a random value (e.g., using a pseudo-random number generator) to generate a different value for the token 405.

[0097] With the generation of token 405, the operation executor 165 can perform operations to update or otherwise adjust the profile using token 405 based on activity value 225 and verification value 325. The profile may be associated with data structure 175. Data structure 175 of the profile can be updated to include token 405 and the user 210's progress in continuous withdrawal substance use. This operation may be including, adding, or otherwise inserting token 405 into data structure 175. With the updating of data structure 175, the operation executor 165 may store and maintain data structure 175 on database 170. In some embodiments, the operation executor 165 may implement, execute, or otherwise perform the operation of transferring token 405 to an account data structure associated with user 210. The account data structure may be included or indicated by the profile. The account data structure may correspond to, for example, user 210's bank account.

[0098] In some embodiments, over a period of time, token generator 160 may generate a set of tokens (e.g., including token 405 and subsequent tokens) using function 410 in response to an operation executor 165 performing a corresponding set of operations. For example, token generator 160 may generate multiple tokens over a period of time. Operation executor 165 may perform an operation based on each token generated by token generator 160 to update the profile. In some embodiments, token generator 160 may also generate a set of tokens based on a set of weights 415. In some embodiments, token generator 160 generates at least one token 405 based on both function 410 and a set of weights 415.

[0099] In conjunction with the updated data structure 175, the actuator 165 can also generate at least one message 420 to include or indicate the token 405. The message 420 may include the token 405 to present its value to the user 210 via the application 125. After generating the message, the actuator 165 may send, transmit, or otherwise provide the message 420 to the user device 110 for presentation via the application 125. The message 420 may also include indications of updates made to the user 210's profile and / or account data structure. Thus, the user 210 can view the token 405 and the updates made by the actuator 165 to at least one of the profile or account data structures. At a neurological level, providing and presenting the token 405 to the user can activate reward centers in the brain (e.g., the ventral striatum, prefrontal cortex, amygdala, anterior cingulate cortex, insular cortex, and hippocampus) to help the user change behavior and reduce substance abuse.

[0100] In some embodiments, the operation executor 165 may generate a score based on the number of times the data structure 175 is updated with an activity value 225 and / or a verification value 325. This score may indicate the number of activities or verification tests performed by the user 210 that satisfy the activity and verification conditions, respectively. The score may be a function of the activity value 225, the verification value 325, and the number of updates to the data structure 175. Both the activity evaluator 145 and the operation executor 165 may track the number of updates to the data structure 175. The operation executor 165 may generate a score over a period of time.

[0101] For example, actuator 165 can generate a set of scores within a set of time points to indicate the progress of user 210. This set of scores within the set of time points can represent the user 210's continued abstinence. This set of scores within the set of time points can be provided to user 210 via a graphical user interface (e.g., user interface 130) that can recognize the scores within the set of time points. For example, the scores within the set of time points can be displayed graphically on user interface 130. Each score in the set of scores can indicate the corresponding number of updates to data structure 175. For example, within the set of time points, the score may increase, reflecting an increase in the number of updates to data structure 175.

[0102] The above process can be repeated multiple times. Subsequent sessions (e.g., providing instructions to perform activities or verification tests) can be conducted periodically. For example, sessions can be provided 1 to 10 times per week. The total duration of sessions can be at least 5 to 15 weeks. During a session, user 210 can experience a progressively escalating reinforcement schedule. For example, as verification evaluator 150 generates more verification values ​​325, the value of token 405 can increase. In some embodiments, token generator 160 can also generate subsequent tokens in response to receiving subsequent activity values ​​and subsequent verification values. Thus, operation executor 165 can perform subsequent operations to update the profile using subsequent tokens based on data structure 175 (e.g., subsequent activity values ​​and subsequent verification values).

[0103] Now for reference Figure 5A block diagram depicts a process 500 for determining the eligibility of user 210. Process 500 may include or correspond to operations performed by system 100 to receive and process data provided by user 210. Under process 500, eligibility evaluator 155 may generate instruction 505 to user 210 to indicate the eligibility of user 210. Before providing instruction 205 or instruction 305 to user device 110, eligibility evaluator 155 may set, update, or otherwise adjust eligibility field 195' to eligibility value 515 to allow updates to activity field 185' and verification field 190'. For example, to generate token 405, the eligibility value 515 of eligibility field 195' must be set. The eligibility value 515 may be a numeric or Boolean value.

[0104] User 210's eligibility may depend on, for example, the number of activities completed. For instance, eligibility evaluator 155 may set eligibility field 195' in response to at least one of the following: completion of previous activities and / or verification tests, the number of activities and / or verification tests completed, or the percentage of activities and / or verification tests completed (e.g., compared to the number of prompts to perform activities and verification tests), etc. Setting eligibility field 195' allows token generator 160 to generate token 405. For example, token generator 160 may not generate token 405 in response to eligibility field 195 not being set or not meeting the conditions.

[0105] In some embodiments, the eligibility evaluator 155 may identify previous activities and / or validation tests performed by user 210 to set eligibility field 195' based on applying historical data to a model (e.g., a machine learning model). For example, based on previous activities and / or validation tests, eligibility evaluator 155 may set eligibility field 195' to eligibility value 515. As another example, eligibility evaluator 155 may apply previous activities and validation values ​​to a machine learning model to determine eligibility value 515 for user 210. Historical data may also include data from other users (e.g., non-user 210).

[0106] In some embodiments, the eligibility evaluator 155 can generate a score. This score can indicate the probability of allowing the update of the activity field 185' and the verification field 190'. The eligibility evaluator 155 can generate the score before, simultaneously with, or after generating the activity value 225 and the verification value 325. In some embodiments, the score can be based on activity data 220 and verification data 320, as well as activity conditions and verification conditions. This score can be used to determine whether the data structure 175 associated with the user is eligible to be assigned a token. After generating the score, the eligibility evaluator 155 can then compare the score to a threshold.

[0107] When a score meets (e.g., greater than or equal to) a threshold, the eligibility evaluator 155 may set the eligibility field 195' of data structure 175 to a eligibility value 515. The eligibility value 515 may be based at least in part on the score. The eligibility evaluator 155 may also set the eligibility field 195' based on the number of times the eligibility field 195 has been set to allow updating the eligibility value 515 of the activity field 185' and the validation field 190'. The eligibility evaluator 155 may consider multiple previous eligibility records and the time intervals between each eligibility record to determine whether to set the eligibility field 195 to the eligibility value 515. Conversely, when a score does not meet (e.g., less than) a threshold, the eligibility evaluator 155 will not set the eligibility field 195' of data structure 175 to the eligibility value 515.

[0108] In some embodiments, the qualification evaluator 155 may determine the qualification value 515 in conjunction with or sequentially generating the activity value 225 and the verification value 325, respectively, by the activity evaluator 145 and the verification evaluator 150. For example, the qualification evaluator 155 may set the qualification field 195' in response to an update to the activity field 185 and / or the verification field 190. The qualification evaluator 155 may generate the qualification value 515 at least each time the verification field 190' is updated.

[0109] For example, the eligibility evaluator 155 setting the eligibility field 195' to an eligibility value 515 may depend on the verification data 320 meeting the verification conditions. Therefore, the user 210 may only receive updates to their profile via a token 405 that depends on the verification value 325. In this case, the activity value 225 may supplement the generation of token 405 and may influence the value of token 405, while the token generator 160 generates token 405 depending on the verification value 325. Thus, withdrawal is directly reinforced, while the completion of the recovery activity is indirectly reinforced. By directly targeting withdrawal, it is ensured that the value of token 405 is not diluted by the completion of other target behaviors, but rather associated with the highest priority behavior (withdrawal).

[0110] By setting the eligibility field 195', session processor 140 can transmit, generate, or otherwise provide instruction 505 to user 210 to prompt user 210 to perform activity and verification tests (e.g., as described in procedures 200-400). For example, upon receiving instruction 505, application 125 can then monitor activity data 220 and verification data 320 via an event handler. Once activity evaluator 145 and verification evaluator 150 receive activity data (e.g., activity data 220) and verification data (e.g., verification data 320) respectively via response 510, activity evaluator 145 and verification evaluator 150 can generate activity value 225 and verification value 325 respectively. Response 510 can also be provided to eligibility evaluator 155.

[0111] The qualification evaluator 155 may retrieve, identify, or otherwise receive a response 510 including activity data 220 and verification data 320. In some embodiments, the qualification evaluator 155 retrieves, identifies, or otherwise receives activity value 225 and verification value 325 from the activity evaluator 145 and verification evaluator 150, respectively. In some embodiments, the qualification evaluator 155 may receive verification data 320 or verification value 325. Based on at least one of verification data 320 or verification value 325, the qualification evaluator 155 generates a qualification value 515. For example, the qualification evaluator 155 may check the verification data 320 or verification value 325 against qualification conditions. Qualification conditions may differ from verification conditions. The qualification evaluator 155 then determines whether the verification data 320 satisfies the qualification conditions. In some embodiments, the qualification conditions are the same as the verification conditions, and the qualification evaluator 155 generates the qualification value 515 based on the verification value 325. For example, the qualification value 515 may be set in response to the qualification evaluator 155 receiving the verification value 325.

[0112] In some embodiments, in response to verification data meeting eligibility criteria, eligibility evaluator 155 generates eligibility value 515. Eligibility evaluator 155 then updates or otherwise sets eligibility field 195' using eligibility value 515. In some embodiments, eligibility evaluator 155 determines whether activity data 220 and / or verification data 320 meet eligibility criteria. In some embodiments, eligibility evaluator 155 generates eligibility value 515 based on activity value 225 and / or verification value 325. For example, eligibility evaluator 155 may generate eligibility value 515 based on verification value 325 (e.g., verification data 320 meets at least one of verification or eligibility criteria) and adjust eligibility value 515 based on activity value 225. For example, activity completion as indicated by activity value 225 can affect eligibility value 515. A larger number of completed activities compared to a smaller number of completed activities as indicated by activity value 225 can increase eligibility value 515. A higher eligibility value 515 can qualify user 210 for a higher reward value and / or a higher token 405 value.

[0113] In this manner, by employing a digital therapy application to execute the CM described herein, redundant computation and storage can be eliminated by using data structure 175 as a single integrated reward path, compared to methods using independent parallel paths. By leveraging psychological and behavioral sciences, the digital therapy application can optimize reinforcement algorithms to provide more targeted and personalized reinforcement, thereby maximizing the likelihood of clinical outcomes such as withdrawal. Simultaneously, the consumption of computational resources and network bandwidth can be reduced in terms of data processing service 105 and user device 110.

[0114] Data processing service 105 can aggregate both activity data 220 and verification data 320 to determine eligibility and rewards for motivating user 210 and improving the persistence and sustainability of withdrawal. By utilizing both recovery activities and verification tests, data processing service 105 can ensure continuous and accurate withdrawal assessments while also providing activities that contribute to achieving the primary withdrawal goals. Data processing service 105 can combine behavior management with digital therapy to create an easily understandable and comprehensive withdrawal solution, thereby providing a more effective approach to addressing user 210's SUD condition.

[0115] Furthermore, data processing service 105 can support and maintain data structure 175 to store values ​​aggregated across multiple devices (such as remote device 109, instrumentation 111, or user device 110) using various data formats, thereby improving the interoperability of data processing service 105. Because data structure 175 is independent of the specific data format of the respective device, data processing service 105 can interface with these devices and maintain remote verification data for activities and tests, thus saving memory consumption for storing such data. Data structure 175 can allow for contingency management to track the completion of user activities and verification tests, unifying the reinforcement path and addressing the technical challenges of traditional CM methodologies. Data structure 175 can continuously and simultaneously update the activity field 185, verification field 190, and qualification field 195 in real time upon receiving data to accurately reflect progress and provide reinforcement to user 210 in a timely manner.

[0116] Figure 6A -B depicts a screenshot of a set 600 of user interfaces for performing activities and verification tests to generate tokens according to an illustrative embodiment. The user interfaces in set 600 may be part of application 125 and are presented via user interface 130. User interface 605 can provide prompts for user 210 to perform activities. These activities may be related to training exercises, such as walking. User interface 610 can provide indications of completion of user activities, such as activity data received from the user satisfying activity conditions. User interface 610 can also provide prompts for user 210 to perform verification tests. User interface 615 can provide indications that verification data satisfies verification conditions and includes a message showing a token generated based on both the activity data and the verification data. User interface 620 can provide prompts for user to complete remote verification tests. Remote verification tests may, for example, request an image (including video) of the user's saliva. Remote verification tests may also be images of the user's face, hair, or body, etc. User interface 625 can prompt the user to complete a recovery activity via user interface 625. For example, user interface 625 can allow the user to complete a cognitive activity. User interface 630 provides a progress display for the user over time. User interface 630 can indicate a set of scores generated at a set of time points.

[0117] Figure 7 A flowchart depicts a method 700 for providing an activity and verification test to a user to address a substance use barrier, according to an illustrative embodiment. Method 700 can be performed by any component of system 100, such as data processing service 105, user device 110, or user 210, etc. In method 700, a computing system can maintain a data structure (702). This data structure can be associated with a user's profile. The computing system can determine whether the user is eligible to receive a token (704). The computing system can determine whether activity data received from the user meets certain conditions (706). In response to the activity data meeting certain conditions, the computing system can update the activity field in the data structure (708). The computing system can update the activity field using an activity value generated based on the activity data. The computing system can determine whether verification data has been received (710). Verification data can be received in response to providing an instruction to perform a verification test. In response to determining that verification data has been received, the computing system can update the verification field of the data structure (712). The verification field can be updated using a verification value generated based on the verification data.

[0118] The computing system can determine whether the activity field and the validation field have been updated (714). The updating of the activity field and the validation field may depend on the activity data and validation data satisfying the activity conditions and validation conditions. In response to determining that the activity field and the validation field have been updated, the computing system can generate a token (716). In response to determining that the activity field and the validation field have not been updated, the computing system can avoid generating a token (718). The computing system can then update the data structure based on the token or the token's absence (720). For example, a token or the token's absence can determine the subsequent activity provided to the user. The computing system can then perform an operation (722). This operation may include updating the user profile associated with the data structure.

[0119] B. Network and computing environment

[0120] The various operations described in this article can be implemented on a computer system. Figure 8 A simplified block diagram is shown of a representative server system 800, client computing system 814, and network 826 that can be used to implement certain embodiments of this disclosure. In various embodiments, server system 800 or similar systems may implement the services or servers or portions thereof described herein. Client computing system 814 or similar systems may implement the clients described herein. System 800 described herein may be similar to server system 800. Server system 800 may have a modular design, comprising multiple modules 802 (e.g., blades in a blade server embodiment); although two modules 802 are shown in the figures, any number of modules may be provided. Each module 802 may include a processing unit 804 and local storage 806.

[0121] Processing unit 804 may include a single processor (which may have one or more cores) or multiple processors. In some embodiments, processing unit 804 may include a general-purpose main processor and one or more dedicated coprocessors, such as a graphics processor, a digital signal processor, etc. In some embodiments, some or all of processing unit 804 may be implemented using custom circuitry, such as an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA). In some embodiments, such integrated circuits execute instructions stored on the circuit itself. In other embodiments, processing unit 804 may execute instructions stored in local memory 806. Any type of processor may be included in processing unit 804 in any combination.

[0122] Local storage 806 may include volatile storage media (e.g., DRAM, SRAM, SDRAM, etc.) or non-volatile storage media (e.g., disk or optical disk, flash memory, etc.). The storage media included in local storage 806 may be fixed, removable, or upgradeable as needed. Local storage 806 may be physically or logically divided into various sub-units, such as system memory, read-only memory (ROM), and permanent storage devices. System memory may be a read-write memory device or a volatile read-write memory, such as dynamic random access memory. System memory may store some or all of the instructions and data required by processing unit 804 during operation. ROM may store static data and instructions required by processing unit 804. Permanent storage devices may be non-volatile read-write memory devices that can store instructions and data even when module 802 is powered off. As used herein, the term "storage media" includes any medium that can store data indefinitely (subject to overlay, electrical interference, power outages, etc.), but excludes carrier waves and transient electronic signals propagated via wireless or wired connections.

[0123] In some embodiments, local storage 806 may store one or more software programs executed by processing unit 804, such as an operating system or programs that implement various server functions, such as the functions of system 800 or any other system described herein, or the functions of any other server associated with system 800 or any other system described herein.

[0124] "Software" generally refers to a set of instructions that, when executed by processing unit 804, cause server system 800 (or a portion thereof) to perform various operations, thereby defining one or more specific machine embodiments that execute and implement software program operations. Instructions may be stored as firmware residing in read-only memory or program code stored in non-volatile storage media, which can be read into volatile working memory for execution by processing unit 804. Software can be implemented as a single program or a collection of independent programs or program modules that interact as needed. Processing unit 804 may retrieve program instructions to be executed and data to be processed from local storage 806 (or non-local storage described below) to perform the various operations described above.

[0125] In some server systems 800, multiple modules 802 can be interconnected via a bus or other interconnects 808 to form a local area network that supports communication between the modules 802 and other components of the server system 800. The interconnects 808 can be implemented using various technologies, including server racks, hubs, routers, etc.

[0126] The wide area network (WAN) interface 810 provides data communication capabilities between a local area network (e.g., via interconnection 808) and a network 826 (such as the Internet). Other technologies may also be used to couple the server system to the network 826 for communication, including wired technologies (e.g., Ethernet, IEEE 802.3 standard) or wireless technologies (e.g., Wi-Fi, IEEE 802.11 standard).

[0127] In some embodiments, local storage 806 is designed to provide working memory for processing unit 804, thereby enabling fast access to programs or data to be processed while reducing traffic on interconnect 808. Storage of larger volumes of data can be provided on a local area network via one or more mass storage subsystems 812 that can be connected to interconnect 808. Mass storage subsystem 812 can be based on magnetic, optical, semiconductor, or other data storage media. Direct-attached storage, storage area networks, network-attached storage, etc., can be used. Any data storage or other collections of data generated, used, or maintained by a service or server as described herein can be stored in mass storage subsystem 812. In some embodiments, additional data storage resources can be accessed via WAN interface 810 (which may increase latency).

[0128] Server system 800 can operate in response to requests received via WAN interface 810. For example, one module 802 of module 802 can implement monitoring functions and, in response to a received request, distribute discrete activities to other modules 802. Work assignment techniques can be used. After processing the request, the result can be returned to the requester via WAN interface 810. Such operations can typically be automated. Furthermore, in some embodiments, WAN interface 810 can connect multiple server systems 800 to each other, thereby providing a scalable system capable of managing large amounts of activity. Other techniques for managing server systems and server clusters (collections of cooperating server systems) can be used, including dynamic resource allocation and reallocation.

[0129] The server system 800 can interact with various user-owned or user-operated devices via a wide area network (such as the Internet). Figure 8 The user operating device example shown is a client computing system 814. The client computing system 814 can be implemented as a consumer device, such as a smartphone, other mobile phones, tablet computers, wearable computing devices (e.g., smartwatches, glasses), desktop computers, laptop computers, etc.

[0130] For example, the client computing system 814 can communicate via WAN interface 810. The client computing system 814 may include computer components such as processing unit 816, storage device 818, network interface 820, user input device 822, and user output device 824. The client computing system 814 can be a computing device implemented in various forms, such as a desktop computer, laptop computer, tablet computer, smartphone, other mobile computing device, wearable computing device, etc.

[0131] The processing unit 816 and storage device 818 can be similar to the processing unit 804 and local storage 806 described above. Appropriate devices can be selected based on the requirements to be imposed on the client computing system 814. For example, the client computing system 814 can be implemented as a "thin" client with limited processing power, or a high-performance computing device. The client computing system 814 can be equipped with program code executable by the processing unit 816 to enable various interactions with the server system 800.

[0132] Network interface 820 can provide connectivity to network 826, such as a wide area network (e.g., the Internet), to which the WAN interface 810 of server system 800 is also connected. In various embodiments, network interface 820 may include a wired interface (e.g., Ethernet) or a wireless interface that implements various radio frequency data communication standards (e.g., Wi-Fi, Bluetooth, or cellular data network standards (e.g., 3G, 4G, LTE, etc.)).

[0133] User input device 822 may include any device (one or more) through which a user can provide signals to client computing system 814; client computing system 814 may interpret such signals as indications of specific user requests or information. In various embodiments, user input device 822 may include any or all of a keyboard, touchpad, touchscreen, mouse or other pointing device, scroll wheel, click wheel, dial pad, button, switch, keypad, microphone, etc.

[0134] User output device 824 may include any device through which client computing system 814 can provide information to a user. For example, user output device 824 may include display-to-display images generated by or transmitted to client computing system 814. The display may incorporate various image generation technologies, such as liquid crystal displays (LCDs), light-emitting diode (LED) displays (including organic light-emitting diodes (OLEDs)), projection systems, cathode ray tubes (CRTs), and supporting electronic devices (e.g., digital-to-analog converters or analog-to-digital converters, signal processors, etc.). Some embodiments may include devices such as touchscreens that serve as both input and output devices. In some embodiments, other user output devices 824 may be provided in addition to or as alternatives to a display. Examples include indicator lights, speakers, haptic "display" devices, printers, etc.

[0135] Some embodiments include electronic components, such as microprocessors, storage devices, and memories, that store computer program instructions in a computer-readable storage medium. Many of the features described herein can be implemented as processes specified as a set of program instructions encoded on a computer-readable storage medium. When these program instructions are executed by one or more processing units, they cause the processing units to perform various operations indicated in the program instructions. Examples of program instructions or computer code include machine code (such as machine code generated by a compiler) and files that include high-level code executed by a computer, electronic component, or microprocessor using an interpreter. With appropriate programming, processing units 804 and 816 can provide various functions for server system 800 and client computing system 814, including any functions described herein performed by a server or client, or other functions.

[0136] It should be understood that server system 800 and client computing system 814 are illustrative, and variations and modifications thereof are possible. Computer systems used in conjunction with embodiments of this disclosure may have other functionalities not specifically described herein. Furthermore, while server system 800 and client computing system 814 are described with reference to specific modules, it should be understood that these modules are defined for ease of description and are not intended to imply a specific physical arrangement of components. For example, different modules may (but do not necessarily) reside in the same facility, the same server rack, or the same motherboard. Moreover, these modules do not necessarily correspond to physically different components. Modules may be configured to perform various operations, such as by programming a processor or providing appropriate control circuitry, and various modules may or may not be reconfigurable, depending on how the initial configuration is obtained. Embodiments of this disclosure can be implemented in a variety of devices, including electronic devices implemented using any combination of circuitry and software.

[0137] Although this disclosure has been described in conjunction with specific embodiments, those skilled in the art will recognize that various modifications can be made. Embodiments of this disclosure can be implemented using various computer systems and communication technologies, including but not limited to the specific examples described herein. Embodiments of this disclosure can be implemented using any combination of dedicated components, programmable processors, or other programmable devices. The various processes described herein can be implemented on the same processor or different processors in any combination. When a component is described as being configured to perform certain operations, such configuration can be implemented, for example, by designing electronic circuits to perform the operations, by programming programmable electronic circuits (such as microprocessors), or by any combination of the foregoing. Furthermore, while the above embodiments may refer to specific hardware and software components, those skilled in the art will understand that different combinations of hardware or software components can also be used, and specific operations described as implemented in hardware may also be implemented in software, and vice versa.

[0138] Computer programs incorporating the various features of this disclosure can be encoded and stored on a variety of computer-readable storage media; suitable media include magnetic disks or magnetic tapes, optical storage media (e.g., optical discs (CDs) or digital multifunction discs (DVDs), flash memory, and other non-transitory media). Computer-readable media containing program code can be packaged with a compatible electronic device or provided separately from the electronic device (e.g., downloaded via the Internet or as a separately packaged computer-readable storage medium).

[0139] Therefore, although this disclosure has been described with reference to specific embodiments, it should be understood that this disclosure is intended to cover all modifications and equivalents within the scope of the following claims.

[0140] Example

[0141] In some embodiments, this disclosure provides a system for managing data structures used for remote monitoring and verification of users, including:

[0142] One or more processors coupled to memory, which are configured to:

[0143] For user profiles, maintain a data structure that includes activity fields and validation fields;

[0144] By using one or more event handlers executed on the application, it is determined that activity data generated in response to the user performing an activity via the application meets the activity conditions;

[0145] In response to determining that the activity data satisfies the activity condition, the data structure is updated to include the activity value corresponding to the activity field;

[0146] Receive verification data associated with the user based on the verification test performed by the user;

[0147] In response to determining that the verification data meets the verification conditions, the data structure is updated to include the verification value corresponding to the verification field; and

[0148] Perform the operation of updating the profile using a token based on the activity value and the verification value.

[0149] In some embodiments, the one or more processors are further configured to generate tokens as a function of at least one of the following: (i) updating a data structure to include at least one active value and at least one verification value a number of times, (ii) receiving a set of active datasets and verification datasets for a duration, (iii) updating a data structure to include the at least one active value and the at least one verification value at a frequency during the duration, (iv) the percentage of the at least one active value and the at least one verification value updated in the data structure, (v) the type of activity, (vi) the type of verification test, or (vii) any combination of the foregoing.

[0150] In some embodiments, the function includes at least one of a probability function, a defined sequence, or a model.

[0151] In some embodiments, the one or more processors are further configured to:

[0152] The one or more event handlers executed on the application determine that subsequent activity data generated in response to the user performing subsequent activities via the application meets the subsequent activity conditions.

[0153] In response to determining that the subsequent activity data satisfies the subsequent activity condition, the data structure is updated to include the subsequent activity value corresponding to the subsequent activity field;

[0154] Based on the subsequent verification tests performed by the user, receive subsequent verification data associated with the user;

[0155] In response to determining that the subsequent verification data satisfies the subsequent verification conditions, the data structure is updated to include the subsequent verification value corresponding to the subsequent verification field; and

[0156] Perform subsequent operations to update the profile using a subsequent token based on the data structure.

[0157] In some embodiments, the one or more processors are further configured to generate tokens as a function of at least one of the following: (i) the time elapsed since the tokens were generated, (ii) the number of tokens generated for the profile, (iii) the type of the tokens, or (iv) the size and / or probability of the tokens.

[0158] In some embodiments, the one or more processors are further configured to generate a set of tokens, including at least the token and the subsequent tokens, using the function in response to performing a corresponding set of operations.

[0159] In some embodiments, the one or more processors are further configured to generate the token according to a set of weights corresponding to: (i) the number of times the data structure is updated to include at least one active value and at least one verification value, (ii) the duration of receiving a set of active datasets and verification datasets, (iii) the frequency of the data structure being updated to include the at least one active value and the at least one verification value during the duration, (iv) the percentage of the at least one active value and the at least one verification value updated in the data structure, (v) the type of activity, (vi) the type of verification test, (vii) the time elapsed since the token was generated, (viii) the number of tokens generated for the profile, (ix) the type of token, (x) the size and / or probability of the token, or (xi) any combination of the foregoing.

[0160] In some embodiments, the one or more processors are further configured to generate a set of tokens using the set of weights in response to performing a corresponding set of operations.

[0161] In some embodiments, the one or more processors are further configured to update at least one weight in the set of weights in response to generating at least one token in the set of tokens.

[0162] In some embodiments, the one or more processors are further configured to:

[0163] Transmit instructions to the user device executing the application, prompting the user to perform the activity via the application; and

[0164] The generation of activity data in response to the user's execution of the activity via the application is monitored through one or more event handlers.

[0165] In some embodiments, the activities are selected from activities related to cognitive behavioral therapy, activities related to psychoeducation courses, activities related to assessment, activities related to training exercises, activities related to tools, activities related to attendance, or activities related to conditions, diseases, disorders, or symptoms.

[0166] In some embodiments, the one or more processors are further configured to:

[0167] Determine, via a computing device external to the application, that the activity data generated in response to the user performing the activity satisfies the activity conditions; and

[0168] In response to determining that the activity data satisfies the activity condition, the data structure is updated to include the activity value corresponding to the activity field.

[0169] In some embodiments, the one or more processors are further configured to:

[0170] The application transmits instructions to a user device executing the application to perform the verification test based on at least one of the following: (i) data associated with a sample from the user, (ii) biomarkers obtained from the user, (iii) measurements from an instrument, (iv) uploading digital information to the application, (v) verification of the user's location; or (vi) data associated with a laboratory test provided by the user or a laboratory; and

[0171] Receive the verification data associated with the user's participation in the verification test via the application from the user equipment.

[0172] In some embodiments, the one or more processors are further configured to receive, from a computing device external to the application, the verification data associated with the user's participation in the remote test via the application, based on the verification test.

[0173] In some embodiments, the verification test is based on at least one of the following: (i) laboratory testing, (ii) data associated with a sample from the user, (iii) biomarkers obtained from the user, (iv) measurements from instruments or equipment, (v) uploading digital information to the application, or (vi) verification of the user's location.

[0174] In some embodiments, the verification test is performed to generate verification data including a score indicating at least one of the following: (i) the level of a substance in the user's body or (ii) the absence of a substance in the user's body.

[0175] In some embodiments, the substance is selected from cannabis, cocaine, alcohol, heroin, amphetamine, opioids, nicotine, benzodiazepines, barbiturates and their metabolites.

[0176] In some embodiments, the one or more processors are further configured to monitor the reception of the verification data for a period of time after the data structure is updated to include the activity value corresponding to the activity field.

[0177] In some embodiments, the one or more processors are further configured to monitor the reception of the active data for a period of time after the data structure is updated to include the verification value corresponding to the verification field.

[0178] In some embodiments, the one or more processors are further configured to avoid updating the data structure to include the activity value corresponding to the activity field in response to determining that the activity data does not meet the activity condition.

[0179] In some embodiments, the one or more processors are further configured to avoid updating the data structure to include the verification value corresponding to the verification field in response to the verification data indicating the substance level in the user's body.

[0180] In some embodiments, the one or more processors are further configured to generate a score indicating the number of times the data structure is updated to include the activity value and the verification value.

[0181] In some embodiments, the one or more processors are further configured to provide a graphical user interface that identifies a set of scores at a set of time points, each score in the set indicating the corresponding number of updates to the data structure.

[0182] In some embodiments, the one or more processors are further configured to:

[0183] Set the eligibility field of the data structure to an eligibility value so that the activity field and the verification field can be updated;

[0184] In response to setting the eligibility field to the eligibility value, the application provides instructions prompting the user to perform the activity and the verification test.

[0185] In response to the provision of the instruction, the activity data and the verification data are monitored.

[0186] In some embodiments, the one or more processors are further configured to set the eligibility field to the eligibility value in response to at least one of the following: (i) completion of previous activity and / or verification tests, (ii) the number of activity and / or verification tests completed, or (iii) the percentage of activity and / or verification tests completed.

[0187] In some embodiments, the one or more processors are further configured to identify previous activities and / or validation tests that will lead to the qualification value of the qualification field based on applying historical data to the model.

[0188] In some embodiments, the one or more processors are further configured to:

[0189] Generate an indication of the probability of the update of the activity field and the verification field; and

[0190] In response to the score meeting the threshold, the qualification field of the data structure is set to the qualification value.

[0191] In some embodiments, the one or more processors are further configured to determine the number of times the eligibility field of the data structure is set to the eligibility value, so that the activity field and the verification field are allowed to be updated.

[0192] In some embodiments, the token is a reward used to induce the user to perform the activity and the verification test in order to quit substances associated with substance abuse disorder.

[0193] In some embodiments, the one or more processors are configured to perform the operation by transferring the token to an account data structure associated with the user.

[0194] In some embodiments, the one or more processors are configured to provide a schedule indicating the timing of the activity and / or the timing of the verification test.

[0195] In some embodiments, the one or more processors are configured to provide notifications indicating the time of the activity and / or the time of the verification test.

[0196] In some embodiments, the user is at risk of substance abuse disorder or has been diagnosed with substance abuse disorder, and wherein, in part, at least one of the activities or the verification test is conducted concurrently, the user is taking an effective amount of medication to treat the substance abuse disorder.

[0197] In some embodiments, the drug is selected from acampolic acid, naltrexone, naloxone, disulfiram, gabapentin, methadone, baclofen, bupropion, clonazepam, remeron, GLP-1 receptor agonists, GIP receptor agonists, or any combination thereof.

[0198] In some embodiments, this disclosure also provides a method for managing data structures used for remote monitoring and verification of users, including:

[0199] One or more processors maintain a data structure that includes activity fields and validation fields for a profile associated with a user;

[0200] The one or more processors determine, via one or more event processors executed on the application, that activity data generated in response to the user performing an activity via the application satisfies the activity conditions;

[0201] In response to determining that the activity data satisfies the activity condition, the one or more processors update the data structure to include the activity value corresponding to the activity field;

[0202] The one or more processors receive verification data associated with the user based on the verification test performed by the user;

[0203] In response to determining that the verification data satisfies the verification conditions, the one or more processors update the data structure to include the verification value corresponding to the verification field; and

[0204] The one or more processors perform the operation of updating the profile using a token based on the activity value and the verification value.

[0205] In some embodiments, the method further includes the one or more processors generating a token as a function of at least one of the following: (i) updating a data structure to include at least one active value and at least one verification value a number of times, (ii) receiving a set of active datasets and verification datasets for a duration, (iii) updating a data structure to include the at least one active value and the at least one verification value at a frequency during the duration, (iv) the percentage of the at least one active value and the at least one verification value updated in the data structure, (v) the type of activity, (vi) the type of verification test, or (vii) any combination of the foregoing.

[0206] In some embodiments, the function includes at least one of a probability function, a defined sequence, or a model.

[0207] In some embodiments, the method further includes:

[0208] The one or more processors determine, via the one or more event processors executed on the application, that subsequent activity data generated in response to the user performing subsequent activities via the application satisfies subsequent activity conditions;

[0209] In response to determining that the subsequent activity data satisfies the subsequent activity condition, the one or more processors update the data structure to include the subsequent activity value corresponding to the subsequent activity field.

[0210] The one or more processors receive subsequent verification data associated with the user based on subsequent verification tests performed by the user;

[0211] In response to determining that the subsequent verification data satisfies the subsequent verification conditions, the one or more processors update the data structure to include the subsequent verification value corresponding to the subsequent verification field; and

[0212] The one or more processors perform subsequent operations to update the profile using a subsequent token based on the data structure.

[0213] In some embodiments, the method further includes: generating a token by the one or more processors as a function of at least one of the following: (i) time elapsed since the token was generated, (ii) the number of tokens generated for the profile, (iii) the type of the token, or (iv) the size and / or probability of the token.

[0214] In some embodiments, the method further includes: in response to performing a corresponding set of operations, the one or more processors using the function to generate a set of tokens that includes at least the token and the subsequent tokens.

[0215] In some embodiments, the method further includes: generating the token by the one or more processors according to a set of weights corresponding to: (i) the number of times the data structure is updated to include at least one active value and at least one verification value, (ii) the duration of receiving a set of active datasets and verification datasets, (iii) the frequency of the data structure being updated to include the at least one active value and the at least one verification value during the duration, (iv) the percentage of the at least one active value and the at least one verification value updated in the data structure, (v) the type of activity, (vi) the type of verification test, (vii) the time elapsed since the token was generated, (viii) the number of tokens generated for the profile, (ix) the type of token, (x) the magnitude and / or probability of the token, or (xi) any combination of the foregoing.

[0216] In some embodiments, the method further includes: generating a set of tokens using the set of weights in response to performing a corresponding set of operations by the one or more processors.

[0217] In some embodiments, the method further includes updating at least one weight in the set of weights in response to generating at least one token in the set of tokens.

[0218] In some embodiments, the method further includes:

[0219] The one or more processors transmit instructions to the user device executing the application, prompting the user to perform the activity via the application; and

[0220] The generation of activity data in response to the user's execution of the activity via the application is monitored by the one or more processors via the one or more event processors.

[0221] In some embodiments, the activities are selected from activities related to cognitive behavioral therapy, activities related to psychoeducation courses, activities related to assessment, activities related to training exercises, activities related to tools, activities related to attendance, or activities related to conditions, diseases, disorders, or symptoms.

[0222] In some embodiments, the method further includes:

[0223] The one or more processors determine, via a computing device external to the application, that the activity data generated in response to the user performing the activity satisfies the activity conditions; and

[0224] In response to determining that the activity data satisfies the activity condition, the one or more processors update the data structure to include the activity value corresponding to the activity field.

[0225] In some embodiments, the method further includes:

[0226] The one or more processors transmit instructions to the user device executing the application to perform the verification test based on at least one of the following: (i) data associated with a sample from the user, (ii) biomarkers obtained from the user, (iii) measurements from instruments, (iv) uploading digital information to the application, (v) verification of the user's location; or (vi) data associated with laboratory tests provided by the user or laboratory; and

[0227] The verification data associated with the user's participation in the verification test via the application is received from the user equipment by the one or more processors.

[0228] In some embodiments, the method further includes: receiving, by the one or more processors, the verification data associated with the user's participation in the remote test via the application from a computing device external to the application, based on the verification test.

[0229] In some embodiments, the verification test is based on at least one of the following: (i) laboratory testing, (ii) data associated with a sample from the user, (iii) biomarkers obtained from the user, (iv) measurements from instruments or equipment, (v) uploading digital information to the application, or (vi) verification of the user's location.

[0230] In some embodiments, the verification test is performed to generate verification data including a score indicating at least one of the following: (i) the level of a substance in the user's body or (ii) the absence of a substance in the user's body.

[0231] In some embodiments, the substance is selected from cannabis, cocaine, alcohol, heroin, amphetamine, opioids, nicotine, benzodiazepines, barbiturates and their metabolites.

[0232] In some embodiments, the method further includes the one or more processors monitoring the reception of the verification data for a period of time after the data structure is updated to include the activity value corresponding to the activity field.

[0233] In some embodiments, the method further includes the one or more processors monitoring the reception of the activity data for a period of time after the data structure is updated to include the verification value corresponding to the verification field.

[0234] In some embodiments, the method further includes the one or more processors avoiding updating the data structure to include the activity value corresponding to the activity field in response to determining that the activity data does not meet the activity condition.

[0235] In some embodiments, the method further includes the one or more processors avoiding updating the data structure to include the verification value corresponding to the verification field in response to the verification data indicating the substance level in the user's body.

[0236] In some embodiments, the method further includes generating a score by the one or more processors indicating the number of times the data structure is updated to include the activity value and the verification value.

[0237] In some embodiments, the method further includes providing a graphical user interface by the one or more processors to identify a set of scores at a set of time points, each score in the set indicating a corresponding number of updates to the data structure.

[0238] In some embodiments, the method further includes:

[0239] The one or more processors set the eligibility field of the data structure to an eligibility value, thereby allowing the activity field and the verification field to be updated;

[0240] In response to setting the eligibility field to the eligibility value, the one or more processors provide instructions via the application to prompt the user to perform the activity and the verification test.

[0241] The one or more processors monitor the activity data and the verification data in response to the provided instructions.

[0242] In some embodiments, the method further includes the processor setting the eligibility field to the eligibility value in response to at least one of the following: (i) completion of previous activity and / or verification tests, (ii) the number of activity and / or verification tests completed, or (iii) the percentage of activity and / or verification tests completed.

[0243] In some embodiments, the method further includes the one or more processors identifying previous activities and / or validation tests by which the eligibility field is to reach the eligibility value based on applying historical data to the model.

[0244] In some embodiments, the method further includes:

[0245] The one or more processors generate scores indicating the probability of updating the activity field and the verification field; and

[0246] In response to the score meeting a threshold, the one or more processors set the eligibility field of the data structure to the eligibility value.

[0247] In some embodiments, the method further includes the one or more processors determining the number of times the eligibility field of the data structure is set to the eligibility value, so that the activity field and the verification field are allowed to be updated.

[0248] In some embodiments, the token is a reward used to induce the user to perform the activity and the verification test in order to quit substances associated with substance abuse disorder.

[0249] In some embodiments, the method further includes the processor performing the operation by transferring the token to an account data structure associated with the user.

[0250] In some embodiments, the method further includes providing a schedule by the one or more processors indicating the timing of the activity and / or the timing of the verification test.

[0251] In some embodiments, the method further includes the one or more processors providing a notification indicating the time of the activity and / or the time of the verification test.

[0252] In some embodiments, the user is at risk of substance abuse disorder or has been diagnosed with substance abuse disorder, and wherein, in part, at least one of the activities or the verification test is conducted concurrently, the user is taking an effective amount of medication to treat the substance abuse disorder.

[0253] In some embodiments, the drug is selected from acampolic acid, naltrexone, naloxone, disulfiram, gabapentin, methadone, baclofen, bupropion, clonazepam, remeron, GLP-1 receptor agonists, GIP receptor agonists, or any combination thereof.

Claims

1. A method for managing data structures used for remote monitoring and user authentication, comprising: One or more processors maintain a data structure that includes activity fields and validation fields for a profile associated with a user; The one or more processors determine, via one or more event processors executed on the application, that activity data generated in response to the user performing an activity via the application satisfies the activity conditions; In response to determining that the activity data satisfies the activity condition, the one or more processors update the data structure to include the activity value corresponding to the activity field; The one or more processors receive verification data associated with the user based on the verification test performed by the user; In response to determining that the verification data meets the verification conditions, the one or more processors update the data structure to include the verification value corresponding to the verification field. as well as The one or more processors perform the operation of updating the profile using a token based on the activity value and the verification value.

2. The method of claim 1, further comprising the function of the one or more processors generating a token as at least one of the following: (i) updating a data structure to include at least one active value and at least one verification value a number of times, (ii) receiving a set of active datasets and verification datasets for a duration, (iii) updating a data structure to include the at least one active value and the at least one verification value at a frequency during the duration, (iv) the percentage of the at least one active value and the at least one verification value updated in the data structure, (v) the type of activity, (vi) the type of verification test, or (vii) any combination of the foregoing.

3. The method according to claim 2, wherein, The function includes at least one of a probability function, a defined sequence, or a model.

4. The method according to claim 1, further comprising: The one or more processors determine, via one or more event processors executed on the application, that subsequent activity data generated in response to the user performing subsequent activities via the application satisfies subsequent activity conditions; In response to determining that the subsequent activity data satisfies the subsequent activity condition, the one or more processors update the data structure to include the subsequent activity value corresponding to the subsequent activity field. The one or more processors receive subsequent verification data associated with the user based on subsequent verification tests performed by the user; In response to determining that the subsequent verification data satisfies the subsequent verification conditions, the one or more processors update the data structure to include the subsequent verification value corresponding to the subsequent verification field. as well as The one or more processors perform subsequent operations to update the profile using a subsequent token based on the data structure.

5. The method of claim 1, further comprising: The token is generated by the one or more processors as a function of at least one of the following: (i) the time elapsed since the token was generated, (ii) the number of tokens generated for the profile, (iii) the type of the token, or (iv) the size and / or probability of the token.

6. The method of claim 5, further comprising: In response to performing a corresponding set of operations, the one or more processors use the function to generate a set of tokens that includes at least the token and the subsequent tokens.

7. The method of claim 1, further comprising: The token is generated by the one or more processors as a set of weights corresponding to: (i) the number of times the data structure is updated to include at least one active value and at least one verification value, (ii) the duration for which a set of active datasets and verification datasets are received, (iii) the frequency with which the data structure is updated to include the at least one active value and the at least one verification value within the duration, (iv) the percentage of the at least one active value and the at least one verification value updated in the data structure, (v) the type of activity, (vi) the type of verification test, (vii) the time elapsed since the token was generated, (viii) the number of tokens generated for the profile, (ix) the type of token, (x) the magnitude and / or probability of the token, or (xi) any combination of the foregoing.

8. The method of claim 7, further comprising: In response to performing a corresponding set of operations, the one or more processors generate a set of tokens using the set of weights.

9. The method according to claim 8, wherein, The method further includes: updating at least one weight in the set of weights in response to generating at least one token in the set of tokens.

10. The method of claim 1, further comprising: The one or more processors transmit instructions to the user device executing the application, prompting the user to perform the activity via the application; as well as The generation of activity data in response to the user's execution of the activity via the application is monitored by the one or more processors via the one or more event processors.

11. The method according to claim 10, wherein, The activities are selected from those related to cognitive behavioral therapy, psychoeducation courses, assessment, training exercises, tools, attendance, or conditions, illnesses, disorders, or symptoms.

12. The method of claim 11, further comprising: The one or more processors determine, via a computing device external to the application, that the activity data generated in response to the user performing the activity satisfies the activity conditions. as well as In response to determining that the activity data satisfies the activity condition, the one or more processors update the data structure to include the activity value corresponding to the activity field.

13. The method of claim 1, further comprising: The one or more processors transmit instructions to the user device executing the application to perform the verification test based on at least one of the following: (i) data associated with a sample from the user, (ii) biomarkers obtained from the user, (iii) measurements from instruments, (iv) uploading digital information to the application, (v) verification of the user's location; or (vi) data associated with laboratory tests provided by the user or laboratory. as well as The one or more processors receive verification data from the user equipment associated with the user participating in the verification test via the application.

14. The method of claim 1, further comprising: The one or more processors receive verification data from a computing device outside the application, which is associated with a user participating in the remote test via the application according to the verification test.

15. The method according to claim 14, wherein, The verification test is based on at least one of the following: (i) laboratory testing, (ii) data associated with a sample from the user, (iii) biomarkers obtained from the user, (iv) measurements from instruments or equipment, (v) uploading digital information to the application, or (vi) verification of the user's location.

16. The method according to claim 1, wherein, The verification test is performed to generate verification data including a score indicating at least one of the following: (i) the level of the substance in the user's body or (ii) the absence of the substance in the user's body.

17. The method according to claim 16, wherein, The substances are selected from cannabis, cocaine, alcohol, heroin, amphetamine, opioids, nicotine, benzodiazepines, barbiturates and their metabolites.

18. The method of claim 1, further comprising: The one or more processors monitor the receipt of the verification data for a period of time after updating the data structure to include the active value corresponding to the active field.

19. The method of claim 1, further comprising: The one or more processors monitor the reception of the active data for a period of time after updating the data structure to include the verification value corresponding to the verification field.

20. The method of claim 1, further comprising: In response to determining that the activity data does not meet the activity condition, the one or more processors avoid updating the data structure to include the activity value corresponding to the activity field.

21. The method of claim 1, further comprising: The one or more processors, in response to the verification data indicating the substance level in the user's body, avoid updating the data structure to include the verification value corresponding to the verification field.

22. The method of claim 1, further comprising: The one or more processors generate a score indicating the number of times the data structure was updated to include active and verification values.

23. The method of claim 22, further comprising: A graphical user interface is provided by the one or more processors to identify a set of scores at a set of time points, each score in the set indicating the corresponding number of updates to the data structure.

24. The method of claim 1, further comprising: The one or more processors set the eligibility field of the data structure to an eligibility value that allows updating the activity field and the validation field; In response to setting the eligibility field to the eligibility value, the one or more processors provide instructions via the application to prompt the user to perform the activity and the verification test. The one or more processors monitor the activity data and the verification data in response to the provided instructions.

25. The method of claim 24, further comprising: The qualification field is set to the qualification value by the one or more processors in response to at least one of the following: (i) completion of previous activity and / or verification tests, (ii) the number of activity and / or verification tests completed, or (iii) the percentage of activity and / or verification tests completed.

26. The method of claim 24, further comprising: The one or more processors identify previous activities and / or validation tests that will lead to the qualification value by applying historical data to the model.

27. The method of claim 24, further comprising: The one or more processors generate scores indicating the probability that updating the activity field and the verification field is permitted; as well as In response to the score meeting the threshold, the one or more processors set the eligibility field of the data structure to the eligibility value.

28. The method of claim 24, further comprising: The number of times the eligibility field of the data structure is set to the eligibility value is determined by the one or more processors to allow the activity field and the verification field to be updated.

29. The method according to claim 1, wherein, The token is a reward used to incentivize users to perform the activities and verification tests to quit substances associated with substance abuse disorders.

30. The method of claim 1, further comprising: The operation is performed by the one or more processors by transferring the token to an account data structure associated with the user.

31. The method of claim 1, further comprising: The one or more processors provide a schedule indicating the timing of the activities and / or the timing of the verification tests.

32. The method of claim 31, further comprising: The one or more processors provide notifications indicating the timing of the activity and / or the timing of the verification test.

33. The method according to claim 1, wherein, The user is at risk of substance abuse disorder or has been diagnosed with substance abuse disorder, and the user is taking an effective amount of medication to treat the substance abuse disorder, which is performed in part concurrently with at least one of the activities or the verification test.

34. The method according to claim 33, wherein, The drug is selected from acampolic acid, naltrexone, naloxone, disulfiram, gabapentin, methadone, baclofen, bupropion, clonazepam, remeron, GLP-1 receptor agonists, GIP receptor agonists, or any combination thereof.

35. A system for managing data structures used for remote monitoring and verification of users, comprising one or more processors coupled to memory, configured to perform the method according to any one of claims 1-34.