diff --git a/.cursorrules b/.cursorrules new file mode 100644 index 00000000..9c801922 --- /dev/null +++ b/.cursorrules @@ -0,0 +1,20 @@ +Always search the web and hyperlink to the source of information. + +Be concise. + +Speak plainly. + +Use bullet points. + +Use numbered lists. + +Use tables. + +Use bold and italics. + +Use hyperlinks. + +DO NOT USE SALESY PROMOTIONAL LANGUAGE. + +Use quantitative facts to support your points wherever possible. + diff --git a/.env.example b/.env.example index a042e7af..cb452467 100644 --- a/.env.example +++ b/.env.example @@ -14,4 +14,17 @@ S3_AWS_BUCKET= # IMAGE_DIR= # Set to false to disable automatic catalog updates from S3 (default: true) -UPDATE_IMAGE_CATALOG_FROM_S3=false \ No newline at end of file +UPDATE_IMAGE_CATALOG_FROM_S3=false + +# Database Configuration +DB_HOST=remote.database.host +DB_PORT=5432 +DB_NAME=your_database_name +DB_USER=your_database_user +DB_PASSWORD=your_database_password + +# SSH Configuration +SSH_HOST=your.ssh.host +SSH_USER=your_ssh_username +SSH_PORT=22 +SSH_PRIVATE_KEY_PATH=/path/to/your/private/key \ No newline at end of file diff --git a/.gitignore b/.gitignore index ba5ca375..10a87ce2 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ _book /.idea /venv/ __pycache__ +backups/ diff --git a/01-problem.md b/01-problem.md new file mode 100644 index 00000000..7b986b79 --- /dev/null +++ b/01-problem.md @@ -0,0 +1,176 @@ +# Problem: You and Everyone You Love Will Suffer and Die + +There are over [2 billion](https://www.george-health.com/global-health-challenge/) people suffering from chronic diseases. + +Additionally, [150,000](https://www.weforum.org/agenda/2020/05/how-many-people-die-each-day-covid-19-coronavirus/) people die every single day by possibly preventable degenerative diseases. For perspective, this is equivalent to: + +* [**FIFTY-ONE**](https://en.wikipedia.org/wiki/Casualties\_of\_the\_September\_11\_attacks) September 11th attacks every day +* [**NINE**](https://en.wikipedia.org/wiki/Casualties\_of\_the\_September\_11\_attacks) Holocausts every year + +![deaths from disease](../img/deaths-from-disease-vs-deaths-from-terrorism-chart.png) + +**Will throwing more money at the existing healthcare system save us?** + +Since 2014, healthcare spending per person has been [increasing faster than ever](https://fred.stlouisfed.org/series/HLTHSCPCHCSA) before. + +![health spending](../img/us-healthcare-expenditure.svg) + + +Despite this additional spending, life expectancy has actually been declining. + +The current system of clinical research, diagnosis, and treatment is failing the billions of people are suffering from chronic diseases. + +It takes over [10 years and 2.6 billion dollars](https://www.semanticscholar.org/paper/Innovation-in-the-pharmaceutical-industry%3A-New-of-DiMasiGrabowski/3275f31c072ac11c6ca7a5260bd535720f07df41) to bring a drug to market (including failed attempts). +It costs [$41k](https://www.clinicalleader.com/doc/getting-a-handle-on-clinical-trial-costs-0001) per subject in Phase III clinical trials. + +### 1.2 Problems in Clinical Research + +#### 1.2.1 The Cost of Clinical Research + +* It costs [$2.6 billion](https://www.semanticscholar.org/paper/Innovation-in-the-pharmaceutical-industry%3A-New-of-DiMasi-Grabowski/3275f31c072ac11c6ca7a5260bd535720f07df41) to bring a drug to market (including failed attempts). +* The process takes over 10 years. +* It costs [$36k](https://www.clinicalleader.com/doc/getting-a-handle-on-clinical-trial-costs-0001) per subject in Phase III clinical trials. + +![clinical trial cost](../img/cost-of-clinical-trials.png) [source: clinicalresearch.io](https://www.clinicalresearch.io/blog/industry-trends/cost-of-clinical-trials-breakdown/) + +This high cost leads to the following problems: + +**No Data on Unpatentable Molecules** + +We still know next to nothing about the long-term effects of 99.9% of the 4 pounds of over [7,000](https://www.dailymail.co.uk/health/article-8757191/Are-additives-food-making-ill.html) different synthetic or natural chemicals you consume every day. + +Under the current system of research, it costs [$41k](https://www.clinicalleader.com/doc/getting-a-handle-on-clinical-trial-costs-0001#:\~:text=The%20clinical%20trials%20cost%20a,and%20benchmarking%20clinical%20trial%20costs.) per subject in Phase III clinical trials. As a result, there is not a sufficient profit incentive for anyone to research the effects of any factor besides a molecule that can be patented. + +![how much we know](../img/how-much-we-know.png) + +**Lack of Incentive to Discover the Full Range of Applications for Off-Patent Treatments** + +There are roughly [10,000](https://www.washingtonpost.com/news/fact-checker/wp/2016/11/17/are-there-really-10000-diseases-and-500-cures/) known diseases afflicting humans, most of which (approximately 95%) are classified as “orphan” (rare) diseases. The current system requires that a pharmaceutical company predict a particular condition in advance of running clinical trials. If a drug is found to be effective for other diseases after the patent has expired, no one has the financial incentive to get it approved for another disease. + +**No Long-Term Outcome Data** + +Even if there is a financial incentive to research a new drug, there is no data on the long-term outcomes of the drug. The data collection period for participants can be as short as several months. Under the current system, it's not financially feasible to collect data on a participant for years or decades. So we have no idea if the long-term effects of a drug are worse than the initial benefits. + +For instance, even after controlling for co-morbidities, the Journal of American Medicine recently found that long-term use of Benadryl and other anticholinergic medications is associated with an [increased](https://jamanetwork.com/journals/jamainternalmedicine/fullarticle/2091745) risk for dementia and Alzheimer disease. + +#### 1.2.2 Conflicts of Interest + +Long-term randomized trials are extremely expensive to set up and run. When billions of dollars in losses or gains are riding on the results of a study, this will almost inevitably influence the results. For example, an analysis of beverage studies, [published in the journal PLOS Medicine,](https://web.archive.org/web/20211207021133/https://journals.plos.org/plosmedicine/article?id=10.1371/journal.pmed.1001578#s3) found that those funded by Coca-Cola, PepsiCo, the American Beverage Association, and the sugar industry were **five times** more likely to find no link between sugary drinks and weight gain than studies whose authors reported no financial conflicts. + +The economic survival of the pharmaceutical company is dependent on the positive outcome of the trial. While there's not a lot of evidence to support that there's any illegal manipulation of results, it leads to two problems: + +**Negative Results are Never Published** + +Pharmaceutical companies that sponsor research often report only “positive” results, leaving out the non-findings or negative findings where a new drug or procedure may have proved more harmful than helpful. Selective publishing can prevent the rapid spread of beneficial treatments or interventions, but more commonly it means that bad news and failure of medical interventions go unpublished. Past analysis of clinical trials supporting new drugs approved by the FDA showed that just [43 percent of more than 900 trials on 90 new drugs](https://www.livescience.com/8365-dark-side-medical-research-widespread-bias-omissions.html) ended up being published. In other words, about 60 percent of the related studies remained unpublished even five years after the FDA had approved the drugs for market. That meant physicians were prescribing the drugs and patients were taking them without full knowledge of how well the treatments worked. + +This leads to a massive waste of money by other companies repeating the same research and going down the same dead-end streets that could have been avoided. + +### 1.2.3 Trials Often Aren't Representative of Real Patients + +External validity is the extent to which the results can be generalized to a population of interest. The population of interest is usually defined as the people the intervention is intended to help. + +Phase III clinical trials are designed to exclude a vast majority of the population of interest. In other words, the subjects of the drug trials are not representative of the prescribed recipients, once said drugs are approved. One investigation found that only [14.5%](https://www.ncbi.nlm.nih.gov/pubmed/14628985) of patients with major depressive disorder fulfilled eligibility requirements for enrollment in an antidepressant efficacy trial. + +As a result, the results of these trials are not necessarily generalizable to patients matching any of these criteria: + +* Suffer from multiple mental health conditions (e.g. post-traumatic stress disorder, generalized anxiety disorder, bipolar disorder, etc.) +* Engage in drug or alcohol abuse +* Suffer from mild depression (Hamilton Rating Scale for Depression (HAM-D) score below the specified minimum) +* Use other psychotropic medications + +These facts call into question the external validity of standard efficacy trials. + +Furthermore, patient sample sizes are very small. The number of subjects per trial on average: + +* [275](https://www.ncbi.nlm.nih.gov/books/NBK50886/) patients are sought per cardiovascular trial +* [20](https://www.ncbi.nlm.nih.gov/books/NBK50886/) patients per cancer trial +* [70](https://www.ncbi.nlm.nih.gov/books/NBK50886/) patients per depression trial +* [100](https://www.ncbi.nlm.nih.gov/books/NBK50886/) per diabetes trial + +![wellbutrin small sample size](../img/wellbutrin-effectiveness-small-sample-size.png) + +In the example in graphic above a drug is prescribed to millions of patients based on a study with only 36 subjects, where a representation of the general public is questionable. + +### **Solution: Collect Data on Actual Patients** + +In the real world, no patient can be excluded. Even people with a history of drug or alcohol abuse, people on multiple medications, and people with multiple conditions must be treated. Only through the crowdsourcing of this research, would physicians have access to the true effectiveness rates and risks for their real-world patients. + +The results of crowd-sourced studies would exhibit complete and utter external validity since the test subjects are identical to the population of interest. + +Furthermore, self-trackers represent a massive pool of potential subjects dwarfing any traditional trial cohort. +Diet tracking is the most arduous form of self-tracking. Yet, just one of the many available diet tracking apps, **MyFitnessPal,** has 30 million users. + +Tracking any variable in isolation is nearly useless in that it cannot provide the causal which can be derived from combining data streams. Hence, this 30 million user cohort is a small fraction of the total possible [stratifiable](https://en.wikipedia.org/wiki/Stratified_sampling) base. + +## 1.3 Problems in Digital Health Innovation + +### 1.2.1 $157 Billion Wasted on Duplication of Effort + +There are more than [350,000](https://www.emarketer.com/content/over-350k-digital-health-apps-flooding-market-here-s-how-apps-stand) health apps. Mobile health app development costs [$425,000](https://www.mobihealthnews.com/content/mobile-health-app-development-costs-425000-average-likely-continuing-rise) on average. + +Most of these +have a ton of overlap in functionality representing [$157,500,000,000](https://www.mobihealthnews.com/content/mobile-health-app-development-costs-425000-average-likely-continuing-rise) wasted on duplication of effort. + +If this code was freely shared, everyone could build on what everyone else had done. +Theoretically, this could increase the rate of progress by 350,000 times. + +![closed source competition vs open source collaboration](../img/closed-source-competition-vs-open-source-collaboration.sketch.png) + +The obstacle has been the free-rider problem. Software Developers that open source their code give their closed-source competitors an unfair advantage. This increases their likelihood of bankruptcy even higher than the 90% failure rate they already faced. + + +### FDA Mandate is Not to Maximize Lives Saved + +Increasing lifespan is not the congressional mandate of the FDA. Its mandate is to ensure the "safety and efficacy of drugs and medical devices". It has been very successful at fulfilling its mandate. + +But lots of people will die while waiting for treatment. + +#### Cognitive Bias Against Acts of Commission + +Humans have a cognitive bias towards weighting harmful acts of commission to be worse than acts of omission even if the act of omission causes greater harm. It's seen in the trolley problem where people generally aren't willing to push a fat man in front of a train to save a family even though more lives would be saved. + +Medical researcher Dr. Henry I. Miller, MS, MD described his experience working at the FDA, “In the early 1980s,” Miller wrote, “when I headed the team at the FDA that was reviewing the NDA \[application] for recombinant human insulin…my supervisor refused to sign off on the approval,” despite ample evidence of the drug’s ability to safely and effectively treat patients. His supervisor rationally concluded that, if there was a death or complication due to the medication, heads would roll at the FDA—including his own. So the personal risk of approving a drug is magnitudes larger than the risk of rejecting it. + +#### It's Impossible to Report on Deaths That Occurred Due to Unavailable Treatments + +Here's a news story from the Non-Existent Times by No One Ever without a picture of all the people that die from lack of access to life-saving treatments that might have been. + +![](https://static.crowdsourcingcures.org/dfda/assets/non-existent-times.png) + +This means that it's only logical for regulators to reject drug applications by default. The personal risks of approving a drug with any newsworthy side effect far outweigh the personal risk preventing access to life-saving treatment. + +### Current Regulation Expects Drug Developers to Have Psychic Powers + +When running an efficacy trial, the FDA expects that the drug developer has the psychic ability to predict which conditions a treatment will be most effective for in advance of collecting the human trial data. If it was possible to magically determine this without any trials, it would render efficacy trials completely pointless. + +In 2007, manufacturer Dendreon submitted powerful evidence attesting to the safety and efficacy of its immunotherapy drug Provenge, which targets prostate cancer. They were able to show that the drug resulted in a significant decline in deaths among its study population, which even persuaded the FDA advisory committee to weigh in on the application. But ultimately, the FDA rejected its application. + +The FDA was unmoved by the evidence, simply because Dendreon didn’t properly specify beforehand what its study was trying to measure. Efficacy regulations state that finding a decline in deaths is not enough. The mountains of paperwork must be filled out just so and in the correct order. It took three more years and yet another large trial before the FDA finally approved the life-saving medication. + +Due to all the additional costs imposed by the efficacy trial burden, Dendreon ultimately [filed for chapter 11 bankruptcy](https://www.targetedonc.com/view/dendreon-files-for-bankruptcy-provenge-still-available). + +In addition to the direct costs to companies, the extreme costs and financial risks imposed by efficacy trials have a huge chilling effect on investment in new drugs. If you're an investment adviser, trying to avoid losing your client's retirement savings, you're much better off investing in a more stable company like a bomb manufacturer building products to intentionally kill people than a drug developer trying to save lives. So it's impossible to know all of the treatments that never even got to an efficacy trial stage due to the effects of decreased investment due to the regulatory risks. + +## What We Don't Know + +We’re only 2 lifetimes from the use of the modern scientific method in medicine. Thus it's only been applied for 0.0001% of human history. The more clinical research studies we read, the more we realize we don’t know. Nearly every study ends with the phrase "more research is needed". We know basically nothing at this point compared to what will eventually be known about the human body. + +There are over [7,000](https://www.washingtonpost.com/news/fact-checker/wp/2016/11/17/are-there-really-10000-diseases-and-500-cures/) known diseases afflicting humans. + +![]() + +There are as many untested compounds with drug-like properties as there are [atoms in the solar system](https://www.nature.com/articles/549445a) (166 billion). + +![](https://static.crowdsourcingcures.org/dfda/assets/number-of-molecules-with-drug-like-properties.png) + +If you multiply the number of molecules with drug-like properties by the number of diseases, that's 1,162,000,000, 000,000 combinations. So far we've studied [21,000 compounds](https://www.centerwatch.com/articles/12702-new-mit-study-puts-clinical-research-success-rate-at-14-percent). + +That means we only know 0.000000002% of what is left to be known. + +![]() + +The currently highly restrictive overly cautious method of clinical research prevents us from knowing more faster. + +We’re at the very beginning of thousands or millions of years of systematic discovery. So it’s unlikely that this decline in lifespan growth is the result of diminishing returns due to our running out of things to discover. + +However, to validate the theory that large-scale real-world evidence can produce better health outcomes requires further validation of this method of experimentation. That's the purpose of dFDA. diff --git a/02-solution.md b/02-solution.md new file mode 100644 index 00000000..11637733 --- /dev/null +++ b/02-solution.md @@ -0,0 +1,246 @@ +--- +description: >- + How we reduce suffering using a decentralized autonomous organization as a + vehicle to use the oceans of real-world evidence to discover new cures. +--- + +# 🎯 Goals + +## The Personalized, Preventive, Precision Medicine of the Future + +Out of an existing pool of big health data, an insilico model of human biology can be developed to discover new interventions and their personalized dosages and combinations. + +One way to achieve this is to view the human body as a black box with inputs and outputs. We can apply [predictive machine learning models](broken-reference/) to [stratified groups](https://en.wikipedia.org/wiki/Stratified\_sampling) of similar people based on the following aspects: + +* [Genomic](https://en.wikipedia.org/wiki/Genomics) +* [Transcriptomic](https://en.wikipedia.org/wiki/Transcriptome) +* [Proteomic](https://en.wikipedia.org/wiki/Proteomics) +* [Metabolomic](https://en.wikipedia.org/wiki/Metabolomics) +* [Microbiomic](https://en.wikipedia.org/wiki/Microbiota) +* [Phenotype](https://en.wikipedia.org/wiki/Phenotype) +* [Diseasomic](http://ijream.org/papers/IJREAMV05I0250057.pdf) +* [Pharmacomicrobiomic](https://en.wikipedia.org/wiki/Pharmacomicrobiomics) +* [Pharmacogenomic](https://en.wikipedia.org/wiki/Pharmacogenomics) +* [Foodomic](https://en.wikipedia.org/wiki/Foodomics) +* [Exposome](https://en.wikipedia.org/wiki/Environmental\_factor#Exposome) + +This will enable the discovery of the full personalized range of positive and negative relationships for all factors without a profit incentive for traditional trials. + +![bb](https://static.crowdsourcingcures.org/dfda/assets/black-box-model-animation.gif) + +### The Potential of Real-World Evidence-Based Studies + +* **Diagnostics** - Data mining and analysis to identify causes of illness +* **Preventative medicine** - Predictive analytics and data analysis of genetic, lifestyle, and social circumstances to prevent disease +* **Precision medicine** - Leveraging aggregate data to drive hyper-personalized care +* **Medical research** - Data-driven medical and pharmacological research to cure disease and discover new treatments and medicines +* **Reduction of adverse medication events** - Harnessing of big data to spot medication errors and flag potential adverse reactions +* **Cost reduction** - Identification of value that drives better patient outcomes for long-term savings +* **Population health** - Monitor big data to identify disease trends and health strategies based on demographics, geography, and socioeconomic + +#### Cost Savings in Drug Development + +Failed drug applications are expensive. A global database of treatments and outcomes could provide information that could avoid massive waste on failed trials. + +* A 10% improvement in predicting failure before clinical trials could save [$100 million](https://drugwonks.com/blog/the-dog-days-of-drug-approvals) in development costs. +* Shifting 5% of clinical failures from Phase III to Phase I reduces out-of-pocket costs by [$15 to $20 million](https://drugwonks.com/blog/the-dog-days-of-drug-approvals). +* Shifting failures from Phase II to Phase I would reduce out-of-pocket costs by [$12 to $21 million](https://drugwonks.com/blog/the-dog-days-of-drug-approvals). + +#### Cost Savings Through Decentralization + +* In phase II studies, the typical decentralized clinical trial (DCT) deployment produced a [400%](https://github.com/cure-dao/docs/blob/main/assets/financial-benefits-of-decentralized-trials.pdf) return on investment in terms of trial cost reductions. +* In phase III studies, decentralization produced a [1300%](https://github.com/cure-dao/docs/blob/main/assets/financial-benefits-of-decentralized-trials.pdf) return on investment. + +#### Problems with Historical Observational Research + +When people think of observational research, they typically think of correlational association studies. + +**Why It Seems Like Diet Advice Flip-Flops All the Time** + +In 1977, the USDA and Time Magazine warned Americans against the perils of dietary cholesterol. Yet, in 1999, TIME released a very different cover, suggesting that dietary cholesterol is fine. + +![eggs time covers](https://static.crowdsourcingcures.org/dfda/assets/eggs-time-covers.png) + +#### Correlational is Not The Same as Causation + +There are two primary ways of undertaking studies to find out what affects our health: + +1. observational studies - the easier of the two options. They only require handing out questionnaires to people about their diet and lifestyle habits, and then again a few years later to find out which patterns are associated with different health outcomes. +2. randomized trials - the far more expensive option. Two groups of randomly selected people are each assigned a different intervention. + +The most significant benefit of randomized trials is the "control group". The control group consists of the people who don't receive the intervention or medication in a randomly-controlled trial. It helps to overcome the confounding variable problem that plagues observational studies. + +A common source of confounding variables in correlational association studies is the "healthy person bias". For instance, say an observational study finds "People Who Brush Teeth Less Frequently Are at Higher Risk for Heart Disease". It may just be a coincidence caused by a third confounding variable. People that brush their teeth more are more likely to be generally concerned about their health. So, the third confounding factor could be that people without heart disease could also exercise more or eat better. + +However, the massive amount of automatically collected, high-frequency longitudinal data we have today makes it possible to overcome the flaws with traditional observational research. + +#### Overcoming the "No Control Group" Problem + +The primary flaw with observational research is that they lack the control group. However, a single person can act as their own control group with high-frequency longitudinal data. This is done by using an A/B experiment design. + +![](https://static.crowdsourcingcures.org/dfda/assets/causal-clues-1024x652.png) + +For instance, if one is suffering from arthritis and they want to know if a Turmeric Curcumin supplement helps, the experimental sequence would look like this: + +1. Month 1: Baseline (Control Group) - No Curcumin +2. Month 2: Treatment (Experimental Group) - 2000mg Curcumin/day +3. Month 3: Baseline (Control Group) - No Curcumin +4. Month 4: Treatment (Experimental Group) - 2000mg Curcumin/day + +The more this is done, the stronger the statistical significance of the observed change from the baseline. However, there are also effects from other variables. These can be addressed using a diffusion-regression state-space model that predicts the counter-factual response. This involves the creation of a synthetic control group. This artificial control illustrates what would have occurred had no intervention taken place. In contrast to classical difference-in-differences schemes, state-space models make it possible to: + +1. infer the temporal evolution of attributable impact +2. incorporate empirical priors on the parameters in a fully Bayesian treatment +3. flexibly accommodate multiple sources of variation, including: + 1. local trends + 2. seasonality + 3. the time-varying influence of contemporaneous covariates + +At this time, we apply coefficients representative of each of [Hill’s criteria for causation](http://www.drabruzzi.com/hills\_criteria\_of\_causation.htm) to quantify the likelihood of a causal relationship between two measures as: + +* _**Strength Coefficient**_: A relationship is more likely to be causal if the correlation coefficient is large and statistically significant. This is determined through the use of a two-tailed t-test for significance. +* _**Consistency Coefficient**_: A relationship is more likely to be causal if it can be replicated. This value is related to the variation of the average change from baseline for other participants with the same treatment outcome variables in conjunction with the variation in average change from multiple experiments in the same individual. +* _**Specificity Coefficient**_: A relationship is more likely to be causal if there is no other plausible explanation. Relationships are calculated based on different potential predictor variables available for the individual over the same period. The value of the Specificity Coefficient starting at one is decreased by the strength of the most robust relationship of all other factors. +* _**Temporality Coefficient**_: A relationship is more likely to be causal if the effect always occurs after the cause. +* _**Gradient Coefficient**_: The relationship is more likely to be causal if more significant exposure to the suspected cause leads to a greater effect. This is represented by the k-means squared difference between the normalized pharmacokinetic time-lagged treatment outcome curves. +* _**Plausibility Coefficient**_: A relationship is more likely to be causal if a plausible mechanism exists between the cause and the effect. This is derived from the sum of the crowd-sourced plausibility votes on the study. +* _**Coherence**_: A relationship is more likely to be causal if compatible with related facts and theories. This is also derived from the sum of the crowd-sourced plausibility votes on the study. +* _**Experiment Coefficient**_: A relationship is more likely to be causal if it can be verified experimentally. This coefficient is proportional to the number of times an A/B experiment is run. +* _**Analogy**_: A relationship is more likely to be causal if there are proven relationships between similar causes and effects. This coefficient is proportional to the consistency of the result for a particular individual with the number of other individuals who also observed a similar effect. + +![Correlation vs Causation](https://static.crowdsourcingcures.org/dfda/assets/correlation-does-not-equal-causation-comic.png) + +#### Meta-Analyses Support of Real-World Evidence + +Observational real-world evidence-based studies have several advantages over randomized, controlled trials, including lower cost, increased speed of research, and a broader range of patients. However, concern about inherent bias in these studies has limited their use in comparing treatments. Observational studies have been primarily used when randomized, controlled trials would be impossible or unethical. + +However, [meta-analyses](https://www.nejm.org/doi/full/10.1056/NEJM200006223422506) found that: + +> when applying modern statistical methodologies to observational studies, the results are generally **not quantitatively or qualitatively different** from those obtained in randomized, controlled trials. + +#### Mortality Observational Studies + +![Mortality Observational Studies](https://static.crowdsourcingcures.org/dfda/assets/observational-vs-randomized-effect-sizes.png) + +#### Observational Studies for Various Outcomes + +![Observational Studies for Various Outcomes](https://static.crowdsourcingcures.org/dfda/assets/observational-vs-randomized-trial-effect-sizes.png) + +#### Historical Evidence in Support of Real-World Evidence + +There is compelling historical evidence suggesting that large scale efficacy-trials based on real-world evidence have ultimately led to better health outcomes than current pharmaceutical industry-driven randomized controlled trials. + +For over 99% of recorded human history, the average human life expectancy has been around 30 years. + +![historical life expectancy](https://static.crowdsourcingcures.org/dfda/assets/life-expectancy-historical.jpg) + +#### 1893 - The Advent of Safety and Efficacy Trials + +In the late nineteenth and early twentieth century, clinical objectivity grew. The independent peer-reviewed Journal of the American Medical Association (JAMA) was founded in 1893. It would gather case reports from the 144,000 physicians members of the AMA on the safety and effectiveness of drugs. The leading experts in the area of a specific medicine would review all of the data and compile them into a study listing side effects and the conditions for which a drug was or was not effective. If a medicine were found to be safe, JAMA would give its seal of approval for the conditions where it was found to be effective. + +The adoption of this system of crowd-sourced, observational, objective, and peer-reviewed clinical research was followed by a sudden shift in the growth of human life expectancy. After over 10,000 years of almost no improvement, we suddenly saw a strangely linear 4-year increase in life expectancy every single year. + +#### 1938 - The FDA Requires Phase 1 Safety Trials + +A drug called Elixir sulfanilamide caused over [100 deaths](https://www.fda.gov/files/about%20fda/published/The-Sulfanilamide-Disaster.pdf) in the United States in 1937. + +Congress [reacted](https://en.wikipedia.org/wiki/Elixir\_sulfanilamide) to the tragedy by requiring all new drugs to include: + +> "adequate tests by all methods reasonably applicable to show whether or not such drug is safe for use under the conditions prescribed, recommended, or suggested in the proposed labeling thereof." + +These requirements evolved to what is now called the [Phase 1 Safety Trial](https://en.wikipedia.org/wiki/Phase\_1\_safety\_trial). + +This consistent four-year/year increase in life expectancy remained unchanged before and after the new safety regulations. + +![Fda safety trials life expectancy](https://static.crowdsourcingcures.org/dfda/assets/fda-safety-trials-life-expectancy.png) + +This suggests that the regulations did not have a large-scale positive or negative impact on the development of life-saving interventions. + +#### 1950's - Thalidomide Causes Thousands of Birth Defects Outside US + +Thalidomide was first marketed in Europe in [1957](https://en.wikipedia.org/wiki/Thalidomide) for morning sickness. While it was initially thought to be safe in pregnancy, it resulted in thousands of horrific congenital disabilities. + +Fortunately, the existing FDA safety regulations prevented any birth defects in the US. Despite the effectiveness of the existing US regulatory framework in protecting Americans, newspaper stories such as the one below created a strong public outcry for increased regulation. + +![Thalidomide](https://static.crowdsourcingcures.org/dfda/assets/thalidomide.jpg) + +#### 1962 - New Efficacy Regulations Reduce the Amount and Quality of Efficacy Data Collected + +As effective **safety** regulations were already in place, the government instead responded to the Thalidomide disaster by regulating **efficacy** testing via the 1962 Kefauver Harris Amendment. Before the 1962 regulations, it cost a drug manufacturer an average of $74 million (2020 inflation-adjusted) to develop and test a new drug for safety before bringing it to market. Once the FDA had approved it as safe, efficacy testing was performed by the third-party American Medical Association. Following the regulation, trials were instead to be conducted in small, highly-controlled trials by the pharmaceutical industry. + +**Reduction in Efficacy Data** + +The 1962 regulations made these large real-world efficacy trials illegal. Ironically, even though the new regulations were primarily focused on ensuring that drugs were effective through controlled FDA efficacy trials, they massively reduced the quantity and quality of the efficacy data that was collected for several reasons: + +* New Trials Were Much Smaller +* Participants Were Less Representative of Actual Patients +* They Were Run by Drug Companies with Conflicts of Interest Instead of the 3rd Party AMA + +**Reduction in New Treatments** + +The new regulatory clampdown on approvals immediately reduced the production of new treatments by 70%. + +![](https://static.crowdsourcingcures.org/dfda/assets/new-treatments-per-year-2.png) + +**Explosion in Costs** + +Since the abandonment of the former efficacy trial model, costs have exploded. Since 1962, the cost of bringing a new treatment to market has gone from [$74 million](https://publications.parliament.uk/pa/cm200405/cmselect/cmhealth/42/4207.htm) to over [$1 billion](https://publications.parliament.uk/pa/cm200405/cmselect/cmhealth/42/4207.htm) US dollars (2020 inflation-adjusted). + +![](https://static.crowdsourcingcures.org/dfda/assets/cost-to-develop-a-new-drug.png) + +**High Cost of Development Favors Monopoly and Punishes Innovation** + +There's another problem with the increasing costs of treatment development. In the past, a genius scientist could come up with a treatment, raise a few million dollars, and do safety testing. Now that it costs a billion dollars to get a drug to market, the scientist has to persuade one of a few giant drug companies that can afford it to buy his patent. + +Then the drug company has two options: + +**Option 1: Risk $1 billion on clinical trials** + +**Possibility A:** Drug turns out to be one of the 90% the FDA rejects. GIVE BANKER A BILLION DOLLARS. DO NOT PASS GO. + +**Possibility B:** Drug turns out to be one of the 10%, the FDA approves. Now it's time to try to recover that billion dollars. However, very few drug companies have enough money to survive this game. So, this company almost certainly already has an existing inferior drug on the market to treat the same condition. Hence, any profit they make from this drug will likely be subtracted from revenue from other drugs they've already spent a billion dollars on. + +**Option 2: Put the patent on the shelf** + +Do not take a 90% chance of wasting a billion dollars on failed trials. Do not risk making your already approved cash-cow drugs obsolete. + +What's the benefit of bringing better treatment to market if you're just going to lose a billion dollars? Either way, the profit incentive is entirely in favor of just buying better treatments and shelving them. + +**Cures Are Far Less Profitable Than Lifetime Treatments** + +If the new treatment is a permanent cure for the disease, replacing a lifetime of refills with a one-time purchase would be economically disastrous for the drug developer. With a lifetime prescription, a company can recover its costs over time. Depending on the number of people with the disease, one-time cures would require a massive upfront payment to recover development costs. + +How is there any financial incentive for medical progress at all? + +Fortunately, there isn't a complete monopoly on treatment development. However, the more expensive it is to get a drug to market, the fewer companies can afford the upfront R\&D investment. So the drug industry inevitably becomes more monopolistic. Thus there are more situations where the cost of trials for a superior treatment exceeds the profits from existing treatments. + + + +**Slowed Growth in Life Expectancy** + +From 1890 to 1960, there was a linear 4-year increase in human lifespan every year. This amazingly linear growth rate had followed millennia with a flat human lifespan of around 28 years. Following this new 70% reduction in the pace of medical progress, the growth in human lifespan was immediately cut in half to an increase of 2 years per year. + +![](https://static.crowdsourcingcures.org/dfda/assets/real-world-evidence-in-efficacy-clinical-trials-vs-rcts.png) + +**Diminishing Returns?** + +One might say “It seems more likely — or as likely — to me that drug development provides diminishing returns to life expectancy.” However, diminishing returns produce a slope of exponential decay. It may be partially responsible, but it’s not going to produce a sudden change in the linear slope of a curve a linear as life expectancy was before and after the 1962 regulations. + +![diminishing returns](https://static.crowdsourcingcures.org/dfda/assets/diminishing-returns.png) + +**Correlation is Not Causation** + +You might say "I don't know how much the efficacy regulations contribute to or hampers public health. I do know that correlation does not necessarily imply causation." However, a correlation plus a logical mechanism of action is the least bad method we have for inferring the most likely significant causal factor for an outcome (i.e. life expectancy). Assuming most likely causality based on temporal correlation is the entire basis of a clinical research study and the scientific method generally. + +**Impact of Innovative Medicines on Life Expectancy** + +A [three-way fixed-effects analysis](https://pubmed.ncbi.nlm.nih.gov/30912800) of 66 diseases in 27 countries, suggests that if no new drugs had been launched after 1981, the number of years of life lost would have been 2.16 times higher it actually was. It estimates that pharmaceutical expenditure per life-year saved was [$2837](https://pubmed.ncbi.nlm.nih.gov/30912800). + +![Graph showing the shift in relative mortality among major diseases over 60 years.](https://static.crowdsourcingcures.org/img/disease-causing-death-shift.gif) + +More people survive as more treatments are developed. There's a [strong correlation](http://valueofinnovation.org/power-of-innovation) between the development of new cancer treatments and cancer survival over 30 years. + +![Graph showing the correlation of developing new cancer treatments and cancer survival over 30 years.](https://static.crowdsourcingcures.org/img/more-surviving-more-therapies.gif) + + + diff --git a/12-references.md b/12-references.md new file mode 100644 index 00000000..d7062f14 --- /dev/null +++ b/12-references.md @@ -0,0 +1,67 @@ +# 📖 References + +* [Google Spreadsheet of FDA Spending vs Life-Expectancy](https://docs.google.com/spreadsheets/d/e/2PACX-1vTBkVrOYLxloOIADLXA7-k5NBIGgQ\_dfFQ7BLUN0oaJPVQ\_NqdFdVUfhuPkVWgFZ9gfLrwPdjuG1sTn/pubhtml) +* [Summary of NDA Approvals & Receipts, 1938 to the present](https://www.fda.gov/about-fda/histories-product-regulation/summary-nda-approvals-receipts-1938-present) +* [Theory, Evidence, and Examples of FDA Harm](https://www.fdareview.org/issues/theory-evidence-and-examples-of-fda-harm/) +* [DATA](https://docs.google.com/spreadsheets/d/1hltgVd8OO\_nfd9m7FUbbsOTXFX4VbDKuFNw4Cy43f7Q/edit#gid=0) +* [GDP](https://ourworldindata.org/economic-growth) +* [Reform, Regulation, and Pharmaceuticals — The Kefauver–Harris Amendments at 50](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4101807/) +* [Consumer Price Index](https://www.bls.gov/regions/midwest/data/consumerpriceindexhistorical\_us\_table.pdf) +* [Estimates of World GDP, One Million B.C. – Present](https://delong.typepad.com/print/20061012\_LRWGDP.pdf) +* [Newspaper Generator](https://newspaper.jaguarpaw.co.uk/) +* [Report suggests drug-approval rate now just 1-in-10](https://www.amplion.com/report-suggests-drug-approval-rate-now-just-1-in-10/) +* [How many people die and how many are born each year?](https://ourworldindata.org/births-and-deaths) +* [Gross World Product per capita](http://statisticstimes.com/economy/gross-world-product-capita.php) +* [History of Clinical Trials](https://en.wikipedia.org/wiki/Clinical\_trial#History) +* [How many life-years have new drugs saved?](https://academic.oup.com/inthealth/article/11/5/403/5420236) +* [CATO](https://www.cato.org/publications/commentary/end-fda-drug-monopoly-let-patients-choose-their-medicines) +* [Medical Innovation](http://valueofinnovation.org/) +* [Timeline History of Clinical Research](https://www.timetoast.com/timelines/history-of-clinical-research) +* [FDA and Clinical Drug Trials: A Short History](https://www.fda.gov/media/110437/download) +* [Do Off-Label Drug Practices Argue Against FDA Efficacy Requirements?](https://www.independent.org/publications/article.asp?id=1302) +* [Reform Options](https://www.fdareview.org/issues/reform-options/) +* [Before Occupy: How AIDS Activists Seized Control of the FDA in 1988](https://www.theatlantic.com/health/archive/2011/12/before-occupy-how-aids-activists-seized-control-of-the-fda-in-1988/249302/) +* [A Brief History of the Center for Drug Evaluation and Research](https://www.fda.gov/about-fda/virtual-exhibits-fda-history/brief-history-center-drug-evaluation-and-research#display\_58) +* [Milestones in U.S. Food and Drug Law History](https://www.fda.gov/about-fda/fdas-evolving-regulatory-powers/milestones-us-food-and-drug-law-history) +* https://go.drugbank.com/stats + +Additional Sources + +1. https://www.ahajournals.org/doi/10.1161/strokeaha.111.621904 +2. https://www.fda.gov/media/110437/download +3. https://www.academia.edu/2801726/Is\_the\_FDA\_safe\_and\_effective +4. https://www.fda.gov/science-research/science-and-research-special-topics/real-world-evidence +5. https://www.cato.org/commentary/end-fda-drug-monopoly-let-patients-choose-their-medicines +6. https://www.fda.gov/files/about%20fda/published/The-Sulfanilamide-Disaster.pdf +7. https://www.fda.gov/regulatory-information/selected-amendments-fdc-act/21st-century-cures-act +8. https://www.fda.gov/media/79922/download +9. https://www.fda.gov/media/120060/download +10. https://www.nature.com/articles/549445a +11. https://www.statista.com/statistics/1041467/life-expectancy-switzerland-all-time/ +12. https://www.statista.com/statistics/195950/infant-mortality-rate-in-the-united-states-since-1990/ +13. https://kof.ethz.ch/en/news-and-events/kof-bulletin/kof-bulletin/2021/07/Improvements-in-Swiss-life-expectancy-and-length-of-life-inequality-since-the-1870s.html +14. https://docs.google.com/spreadsheets/d/1hltgVd8OO\_nfd9m7FUbbsOTXFX4VbDKuFNw4Cy43f7Q/edit#gid=802845894 +15. https://www.visualcapitalist.com/which-rare-diseases-are-the-most-common/ +16. http://valueofinnovation.org/ +17. https://www.medicinesaustralia.com.au/wp-content/uploads/2020/11/Prof-Frank-Lichtenberg\_session-3.pdf +18. Anglemyer A., Horvath H.T., and Bero, L. (2014). Healthcare Outcomes Assessed with Observational Study Designs Compared with Those Assessed in Randomized Trials (Review), Cochrane Database of Systematic Reviews, Issue 4, Art No MR000034. doi:10.1002/14651858.MR000034.pub2. +19. Ball, R., Robb, M., Anderson, S.A., and Dal Pan, G. (2016). The FDA’s Sentinel Initiative—A Comprehensive Approach to Medical Product Surveillance, Clinical Pharmacology & Therapeutics, 99(3):265-268. doi:10.1002/cpt.320. Benson, K. and Hartz, A.J. (2000). A Comparison of Observational Studies and Randomized, Controlled Trials, New England Journal of Medicine, 342:1878-1886. doi:10.1056/NEJM200006223422506. +20. Berger, M.J, Sox, H., Willke, R.J., Brixner, D.L., Hans-Georg, E., Goettsch, W., Madigan, D., Makady, A., Schneeweiss, S., Tarricone, R., Wang, S.V., Watkins, J., and Mullins, C.D. (2017). Good Practices for Real-World Data Studies of Treatment and/or Comparative Effectiveness: Recommendations from the Joint ISPOR-ISPE Special Task Force on Real-World Evidence in Health Care Decision Making, Pharmacoepidemiology and Drug Safety, 26(9):1033- 1039. doi:10.1002/pds.4297. +21. Clinical Trial Transformation Initiative (CTTI) (2017). CTTI Recommendations: Registry Trials. Retrieved from https://www.ctti-clinicaltrials.org/files/recommendations/registrytrials-recs.pdf. +22. Cooper, C.J., Murphy, T.P., Cutlip, D.E., Jamerson, K., Henrich, W., Reid, D.M., Cohen, D.J., Matsumoto, A.H., Steffes, M., Jaff, M.R., Prince, M.R., Lewis, E.F., Tuttle, K.R., Shapiro, J.I., Rundback, J.H., Massaro, J.M., D’Agostino, R.B., and Dworkin, L.D. (2014). Stenting and Medical Therapy for Atherosclerotic Renal-Artery Stenosis, New England Journal of Medicine, 370(1):13-22. doi:10.1056/NEJMoa1310753. +23. Eapen, Z.J., Lauer, M., and Temple, R.J. (2014). The Imperative of Overcoming Barriers to the Conduct of Large, Simple Trials. Journal of the American Medical Association, 311(14): 1397-1398. doi:10.1001/jama.2014.1030. Eworuke, E. (2017). Integrating Sentinel into Routine Regulatory Drug Review: A Snapshot of the First Year Risk of Seizures Associated with Ranolazine \[Power Point Presentation]. Retrieved from https://www.sentinelinitiative. orghttps://aspe.hhs.gov/sites/default/files/communications/publications-presentations/Sentinel-ICPE-2017-Symposium-Snapshotof-the-First-Year\_Ranexa-Seizures.pdf. +24. Food and Drug Administration, Center for Medicare Services, and Acumen Team. (2018). Centers for Disease Control and Prevention, Advisory Committee on Immunization Practices Meeting: Relative Effectiveness of Cell-cultured versus Egg-based Influenza Vaccines, 2017-18 \[Power Point Presentation]. Retrieved from https://www.cdc.gov/ vaccines/acip/meetings/downloads/slides-2018-06/flu-03-Lu-508.pdf. Ford, I. and Norrie, J. (2016). Pragmatic Trials. New England Journal of Medicine, 375:454-463. doi:10.1056/ NEJMra1510059. +25. Fralick, M., Kesselheim, A.S., Avorn, J., and Schneeweiss, S. (2018). Use of Health Care Databases to Support Supplemental Indications of Approved Medications, JAMA Internal Medicine, 178(1): 55-63. doi:10.1001/ jamainternmed.2017.3919 +26. Franklin, J.M., and Schneeweiss, S. (2017). When and How Can Real World Data Analyses Substitute for Randomized Controlled Trials, Clinical Pharmacology & Therapeutics, 102(6):924-933. doi:10.1002/cpt.857. +27. Fröbert, O., Lagerqvist, B., Olivecrona, G., Omerovic, E., Gudnason, T., Maeng, M., Aasa, M., Angerås, O., Calais, F., Danielewicz, M., Erlinge, D., Hellsten, L., Jensen, U., Johansson, A.C., Kåregren, A., Nilsson, J., Robertson, L., Sandhall, L., Sjögren, I., Östlund, O., Harnek, J., and James, S.K. (2013). Thrombus Aspiration during STSegment Elevation Myocardial Infarction, New England Journal of Medicine, 369:1587-1597. doi:10.1056/ NEJMoa1308789. +28. Guadino, M., Di Franco, A., Rahouma, M., Tam, D.Y., Iannaccone, M., Deb, S., D’Ascenzo, F., Abouarab, A.A., Girardi, L.N., Taggart, D.P., and Fremes, S.E. (2018). Unmeasured Confounders in Observational Studies Comparing Bilateral Versus Single Internal Thoracic Artery for Coronary Artery Bypass Grafting: A Meta-Analysis, Journal of the American Heart Association, 7:e008010. doi.org/10.1161/JAHA.117.008010. +29. Gliklich, R.E., Dreyer, N.A., and Leavy, M.B., editors. (2014). Registries for Evaluating Patient Outcomes: A User’s Guide \[Internet]. 3rd edition. Rockville (MD): Agency for Healthcare Research and Quality (US); 2014 Apr. 1, Patient Registries. Retrieved from https://www.ncbi.nlm.nih.gov/books/NBK208643. +30. Hemkens, L.G., Contopoulos-Ioannidis, D.G., and Ioannidis, J.P. (2016). Agreement of Treatment Effects for Mortality from Routinely Collected Data and Subsequent Randomized Trials: Meta-Epidemiological Survey, BMJ, 352:i493. doi:10.1136/bmj.i493. +31. Hernandez, A.F., Fleurence, R.L., and Rothman, R.L. (2015). The ADAPTABLE Trial and PCORnet: Shining Light on a New Research Paradigm, Annals of Internal Medicine, 163(8):635-636. doi:10.7326/M15-1460. +32. Izurieta, H.S., Thadani, N., Shay, D.K., Lu, Y., Maurer, A., Foppa, I.M., Franks, R., Pratt, D., Forshee, R.A., MaCurdy, T., Worrall, C., Howery, A.E., and Kelman, J. (2015). Comparative Effectiveness of High-dose versus Standarddose Influenza Vaccines in US Residents Aged 65 Years and Older from 2012 to 2012 Using Medicare Data: a Retrospective Cohort, Lancet Infect Dis, 15(3):293-300. doi:10.1016/S1473-3099(14)71087-4. +33. Izurieta, H.S., Wernecke, M., Kelman, J., Wong, S., Forshee, R., Pratt, D., Lu, Y., Sun, Q., Jankosky, C., Krause, P., Worrall, C., MaCurdy, T., Harpaz, R. (2017). Effectiveness and Duration of Protection Provided by the Liveattenuated Herpes Zoster Vaccine in the Medicare Population Ages 65 Years and Older, Clinical Infectious Diseases, 64(6):785-793. doi.org/10.1093/cid/ciw854. +34. Khozin, S., Abernethy, A.P., Nussbaum, N.C., Zhi, J., Curtis, M.D., Tucker, M., Lee, S.E., Light, D.E., Gossai, A., Sorg, R.A., Torres, A.Z., Patel, P., Blumenthal, G.M., and Pazdur, R. (2018). Characteristics of Real-World Metastatic Non-small Cell Lung Cancer Patients Treated with Nivolumab and Pembrolizumab During the Year Following Approval, Oncologist, 23(3): 328-336. doi: 10.1634/theoncologist.2017-0353. +35. Maggiono, A.P., Franzosi, M.G., Fresco, C., Turazza, F., and Tognoni, G. (1990). GISSI Trials in Acute Myocardial Infarction, CHEST Journal, 97(4), Supplement: 146S-150S. doi:10.1378/chest.97.4\_Supplement.146S +36. [Historical Changes in Causes of Death - Sociological Images (thesocietypages.org)](https://thesocietypages.org/socimages/2012/06/25/historical-changes-in-causes-of-death/) +37. [Causes of Death - Our World in Data](https://ourworldindata.org/causes-of-death)] +38. [NVSS - Mortality - Historical Data (cdc.gov)](https://www.cdc.gov/nchs/nvss/mortality\_historical\_data.htm) diff --git a/README.md b/README.md index a3c5d81a..33486bec 100644 --- a/README.md +++ b/README.md @@ -1,102 +1,351 @@ -# Decentralized FDA (DFDA) Platform Wiki - -This repository contains comprehensive documentation for the Decentralized FDA (DFDA) platform, a global initiative to automate and decentralize clinical research for quantifying the effects of foods and drugs worldwide. - -## Project Overview - -The DFDA platform aims to revolutionize how we understand the effects of foods and drugs through: -- Decentralized clinical trials -- Real-world evidence collection -- Automated data analysis -- Community-driven research -- Transparent validation processes - -## Repository Structure - -``` -├── docs/ # Core platform documentation -│ ├── architecture/ # System architecture and design -│ ├── governance/ # DAO and protocol governance -│ ├── api/ # API documentation -│ ├── getting-started/ # Quick start guides -│ └── contributing/ # Contribution guidelines -│ -├── clinical-trials/ # Clinical trial documentation -│ ├── protocols/ # Standard trial protocols -│ ├── methodologies/ # Research methodologies -│ ├── templates/ # Trial templates and forms -│ ├── validation/ # Validation procedures -│ └── decentralized-methods/ # Decentralized trial methods -│ -├── data-standards/ # Data standardization -│ ├── schemas/ # Data schemas and models -│ ├── ontologies/ # Medical and research ontologies -│ └── interoperability/ # Data exchange standards -│ -├── analytics/ # Analysis documentation -│ ├── models/ # Analytical models -│ ├── algorithms/ # Analysis algorithms -│ └── validation/ # Validation methods -│ -├── platform/ # Platform components -│ ├── smart-contracts/ # Smart contract documentation -│ ├── security/ # Security protocols -│ ├── integration/ # Integration guides -│ ├── features/ # Feature documentation -│ └── plugins/ # Plugin documentation -│ -├── regulatory/ # Regulatory documentation -│ ├── frameworks/ # Regulatory frameworks -│ ├── compliance/ # Compliance guidelines -│ ├── legal/ # Legal documentation -│ └── privacy/ # Privacy and data protection -│ -├── knowledge-base/ # Knowledge repository -│ ├── interventions/ # Food and drug interventions -│ ├── conditions/ # Medical conditions -│ ├── biomarkers/ # Biomarker documentation -│ └── research-database/ # Research findings -│ -├── community/ # Community documentation -│ ├── governance/ # Community governance -│ ├── partnerships/ # Partner documentation -│ ├── incentives/ # Incentive mechanisms -│ └── case-studies/ # Success stories -│ -├── technical/ # Technical documentation -│ ├── infrastructure/ # Infrastructure docs -│ ├── deployment/ # Deployment guides -│ ├── maintenance/ # Maintenance procedures -│ └── monitoring/ # System monitoring -│ -├── assets/ # Project assets -│ ├── images/ # Image assets -│ ├── diagrams/ # Technical diagrams -│ ├── presentations/ # Presentation materials -│ └── media/ # Media files -│ -└── supporting-materials/ # Additional resources - ├── research-papers/ # Academic research - ├── white-papers/ # White papers - ├── presentations/ # Presentations - └── use-cases/ # Use case documentation -``` - -## Getting Started - -1. Visit the `/docs/getting-started` directory for initial setup and orientation -2. Review the governance model in `/docs/governance` -3. Understand our data standards in `/data-standards` -4. Explore the clinical trial protocols in `/clinical-trials/protocols` - -## Contributing - -We welcome contributions from researchers, developers, and healthcare professionals. Please see `/docs/contributing` for guidelines. - -## License - -This project is licensed under [appropriate license] - see the LICENSE file for details. - -## Contact - -[Contact information and community channels] \ No newline at end of file +--- +description: >- + The mandate of the dFDA is to promote human health and safety by determining + the comprehensive positive and negative effects of all foods and drugs. +layout: + title: + visible: true + description: + visible: true + tableOfContents: + visible: true + outline: + visible: true + pagination: + visible: true +--- +# 💊 The Decentralized FDA + +## + +This [monorepo](https://github.com/FDA-AI/FDAi/blob/develop/docs/contributing/repo-structure.md) contains a set of: + +* [FAIR](https://github.com/FDA-AI/FDAi/blob/develop/docs/contributing/fair.md) [libraries](https://github.com/FDA-AI/FDAi/blob/develop/libs) +* [apps](https://github.com/FDA-AI/FDAi/blob/develop/apps) +* autonomous agents to help people and organizations quantify the positive and negative effects of every food, supplement, drug, and treatment on every measurable aspect of human health and happiness. + +[![fdai-framework-diagram.png](https://github.com/FDA-AI/FDAi/raw/develop/docs/images/fdai-framework-diagram.png)](https://github.com/FDA-AI/FDAi/blob/develop/docs/images/fdai-framework-diagram.png) + +# 😕 Why are we doing this? + +[](https://github.com/FDA-AI/FDAi#-why-are-we-doing-this) + +The current system of clinical research, diagnosis, and treatment is failing the billions of people are suffering from chronic diseases. + +[👉 Problems we're trying to fix...](https://github.com/FDA-AI/FDAi/blob/develop/docs/stuff-that-sucks.md) + +# 🧪 Our Hypothesis + +[](https://github.com/FDA-AI/FDAi#-our-hypothesis) + +By harnessing global collective intelligence and oceans of real-world data, we hope to emulate Wikipedia's speed of knowledge generation. + +
👉 How to generate discoveries 50X faster and 1000X cheaper than current systems... + +## Global Scale Clinical Research + Collective Intelligence = 🤯 + +[](https://github.com/FDA-AI/FDAi#global-scale-clinical-research--collective-intelligence--) + +So in the 90's, Microsoft spent billions hiring thousands of PhDs to create Encarta, the greatest encyclopedia in history. A decade later, when Wikipedia was created, the general consensus was that it was going to be a dumpster fire of lies. Surprisingly, Wikipedia ended up generating information 50X faster than Encarta and was about 1000X cheaper without any loss in accuracy. This is the magical power of crowdsourcing and open collaboration. + +Our crazy theory is that we can accomplish the same great feat in the realm of clinical research. By crowdsourcing real-world data and observations from patients, clinicians, and researchers, we hope to generate clinical discoveries 50X faster and 1000X cheaper than current systems. + +## The Potential of Real-World Evidence-Based Studies + +[](https://github.com/FDA-AI/FDAi#the-potential-of-real-world-evidence-based-studies) + +* **Diagnostics** - Data mining and analysis to identify causes of illness +* **Preventative medicine** - Predictive analytics and data analysis of genetic, lifestyle, and social circumstances to prevent disease +* **Precision medicine** - Leveraging aggregate data to drive hyper-personalized care +* **Medical research** - Data-driven medical and pharmacological research to cure disease and discover new treatments and medicines +* **Reduction of adverse medication events** - Harnessing of big data to spot medication errors and flag potential adverse reactions +* **Cost reduction** - Identification of value that drives better patient outcomes for long-term savings +* **Population health** - Monitor big data to identify disease trends and health strategies based on demographics, geography, and socioeconomic + +
+ +# 🖥️ FDAi Framework Components + +[](https://github.com/FDA-AI/FDAi#%EF%B8%8F-fdai-framework-components) + +This is a very high-level overview of the architecture. The three primary primitive components of the FDAi framework are: + +1. [Data Silo API Gateway Nodes](https://github.com/FDA-AI/FDAi#1-data-silo-api-gateway-nodes) that facilitate data export from data silos +2. [PersonalFDA Nodes](https://github.com/FDA-AI/FDAi#2-personalfda-nodes) that import, store, and analyze your data to identify how various factors affect your health +3. [Clinipedia](https://github.com/FDA-AI/FDAi#3-clinipediathe-wikipedia-of-clinical-research) that contains the aggregate of all available data on the effects of every food, drug, supplement, and medical intervention on human health. + +The core characteristics that define the FDAi are: + +* **Modularity** - a set of modular libraries and tools that can be reused in any project +* **Protocols** - an abstract framework of core primitive components rather than a specific implementation +* **Interoperability** - a directory of existing open-source projects that can be used to fulfill the requirements of each primitive or component +* **Collective Intelligence** - a collaborative effort, so please feel free to [contribute or edit anything](https://github.com/FDA-AI/FDAi/blob/develop/docs/contributing.md)! + +[![fdai-framework-diagram.png](https://github.com/FDA-AI/FDAi/raw/develop/docs/images/fdai-framework-diagram.png)](https://github.com/FDA-AI/FDAi/blob/develop/docs/images/fdai-framework-diagram.png) + +## 1. Data Silo API Gateway Nodes + +[](https://github.com/FDA-AI/FDAi#1-data-silo-api-gateway-nodes) + +[![dfda-gateway-api-node-silo.jpg](https://github.com/FDA-AI/FDAi/raw/develop/docs/components/data-silo-gateway-api-nodes/dfda-gateway-api-node-silo.jpg)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/data-silo-gateway-api-nodes/dfda-gateway-api-node-silo.jpg) + +[FDAi Gateway API Nodes](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/data-silo-gateway-api-nodes) should make it easy for data silos, such as hospitals and digital health apps, to let people export and save their data locally in their [PersonalFDA Nodes](https://github.com/FDA-AI/FDAi#2-personalfda-nodes). + +**👉 [Learn More About Gateway APIs](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/data-silo-gateway-api-nodes/data-silo-api-gateways.md)** + +## 2. PersonalFDA Nodes + +[](https://github.com/FDA-AI/FDAi#2-personalfda-nodes) + +[PersonalFDA Nodes](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/personal-fda-nodes/personal-fda-nodes.md) are applications that can run on your phone or computer. They import, store, and analyze your data to identify how various factors affect your health. They can also be used to share anonymous analytical results with the [Clinipedia FDAi Wiki](https://github.com/FDA-AI/FDAi#3-clinipediathe-wikipedia-of-clinical-research) in a secure and privacy-preserving manner. + +[PersonalFDA Nodes](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/personal-fda-nodes/personal-fda-nodes.md) are composed of two components, a [Digital Twin Safe](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/digital-twin-safe/digital-twin-safe.md) and a [personal AI agent](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/optimiton-ai-agent/optomitron-ai-agent.md) applies causal inference algorithms to estimate how various factors affect your health. + +### 2.1. Digital Twin Safes + +[](https://github.com/FDA-AI/FDAi#21-digital-twin-safes) + +[![digital-twin-safe-no-text.jpg](https://github.com/FDA-AI/FDAi/raw/develop/docs/components/digital-twin-safe/digital-twin-safe-no-text.jpg)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/digital-twin-safe/digital-twin-safe-no-text.jpg) + +A local application for self-sovereign import and storage of personal data. + +**👉[Learn More or Contribute to Digital Twin Safe](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/digital-twin-safe/digital-twin-safe.md)** + +### 2.2. Personal AI Agents + +[](https://github.com/FDA-AI/FDAi#22-personal-ai-agents) + +[Personal AI agents](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/optimiton-ai-agent/optomitron-ai-agent.md) that live in your [PersonalFDA nodes](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/personal-fda-nodes/personal-fda-nodes.md) and use [causal inference](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/optimiton-ai-agent/optomitron-ai-agent.md) to estimate how various factors affect your health. + +[![data-import-and-analysis.gif](https://github.com/FDA-AI/FDAi/raw/develop/docs/images/data-import-and-analysis.gif)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/optimiton-ai-agent/optomitron-ai-agent.md) + +**👉[Learn More About Optimitron](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/optimiton-ai-agent/optomitron-ai-agent.md)** + +## 3. Clinipedia—The Wikipedia of Clinical Research + +[](https://github.com/FDA-AI/FDAi#3-clinipediathe-wikipedia-of-clinical-research) + +[![clinipedia_globe_circle.jpg](https://github.com/FDA-AI/FDAi/raw/develop/docs/components/clinipedia/clinipedia_globe_circle.jpg)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/clinipedia/clinipedia.md) + +The [Clinipedia wiki](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/clinipedia/clinipedia.md) should be a global knowledge repository containing the aggregate of all available data on the effects of every food, drug, supplement, and medical intervention on human health. + +**[👉 Learn More or Contribute to the Clinipedia](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/clinipedia/clinipedia.md)** + +### 3.1 Outcome Labels + +[](https://github.com/FDA-AI/FDAi#31-outcome-labels) + +A key component of Clinipedia is [**Outcome Labels**](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/outcome-labels/outcome-labels.md) that list the degree to which the product is likely to improve or worsen specific health outcomes or symptoms. + +[![outcome-labels.png](https://github.com/FDA-AI/FDAi/raw/develop/docs/components/outcome-labels/outcome-labels.png)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/outcome-labels/outcome-labels.png) + +**👉 [Learn More About Outcome Labels](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/outcome-labels/outcome-labels.md)** + +## Human-AI Collective Intelligence Platform + +[](https://github.com/FDA-AI/FDAi#human-ai-collective-intelligence-platform) + +A collective intelligence coordination platform is needed for facilitating cooperation, communication, and collaborative actions among contributors. + +**[👉 Learn More or Contribute to the FDAi Collaboration Framework](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/human-ai-collective-intelligence-platform/dfda-collaboration-framework.md)** + +# Roadmap + +[](https://github.com/FDA-AI/FDAi#roadmap) + +We'd love your help and input in determining an optimal roadmap for this project. + +**[👉 Click Here for a Detailed Roadmap](https://github.com/FDA-AI/FDAi/blob/develop/docs/roadmap.md)** + + +# v1 Prototype + +[](https://github.com/FDA-AI/FDAi#fdai-v1-prototype) + +We've got a monolithic centralized implementation of the FDAi at [apps/dfda-1](https://github.com/FDA-AI/FDAi/blob/develop/apps/dfda-1) that we're wanting to modularize and decentralize into a set of [FAIR](https://github.com/FDA-AI/FDAi/blob/develop/docs/contributing/fair.md) [libraries](https://github.com/FDA-AI/FDAi/blob/develop/libs) and plugins that can be shared with other apps. + +Currently, the main apps are the [Demo Data Collection, Import, and Analysis App](https://safe.dfda.earth/) and the [Journal of Citizen Science](https://studies.dfda.earth/). + +### Features + +[](https://github.com/FDA-AI/FDAi#features) + +* [Data Collection](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/data-collection/data-collection.md) +* [Data Import](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/data-import/data-import.md) +* [Data Analysis](https://github.com/FDA-AI/FDAi#data-analysis) + * [🏷️Outcome Labels](https://github.com/FDA-AI/FDAi#-outcome-labels) + * [🔮Predictor Search Engine](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/predictor-search-engine/predictor-search-engine.md) + * [🥕 Root Cause Analysis Reports](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/root-cause-analysis-reports/root-cause-analysis-reports.md) + * [📜Observational Mega-Studies](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/observational-studies/observational-studies.md) +* [Real-Time Decision Support Notifications](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/decision-support-notifications) +* [No Code Health App Builder](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/no-code-app-builder) +* [Personal AI Agent](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/optimiton-ai-agent/optomitron-ai-agent.md) +* [Browser Extension](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/browser-extension) + +[![FDAi screenshots](https://github.com/FDA-AI/FDAi/raw/develop/apps/dfda-1/public/app/public/img/screenshots/record-inbox-import-connectors-analyze-study.png)](https://github.com/FDA-AI/FDAi/blob/develop/apps/dfda-1/public/app/public/img/screenshots/record-inbox-import-connectors-analyze-study.png) + +[![Reminder Inbox](https://github.com/FDA-AI/FDAi/raw/develop/apps/dfda-1/public/app/public/img/screenshots/reminder-inbox-screenshot-no-text.png)](https://github.com/FDA-AI/FDAi/blob/develop/apps/dfda-1/public/app/public/img/screenshots/reminder-inbox-screenshot-no-text.png) + +Collects and aggregate data on symptoms, diet, sleep, exercise, weather, medication, and anything else from dozens of life-tracking apps and devices. Analyzes data to reveal hidden factors exacerbating or improving symptoms of chronic illness. + +### Web Notifications + +[](https://github.com/FDA-AI/FDAi#web-notifications) + +Web and mobile push notifications with action buttons. + +[![web notification action buttons](https://github.com/FDA-AI/FDAi/raw/develop/docs/components/data-collection/web-notification-action-buttons.png)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/data-collection/web-notification-action-buttons.png) + +### Browser Extensions + +[](https://github.com/FDA-AI/FDAi#browser-extensions) + +By using the Browser Extension, you can track your mood, symptoms, or any outcome you want to optimize in a fraction of a second using a unique popup interface. + +[![Chrome Extension](https://github.com/FDA-AI/FDAi/raw/develop/docs/components/browser-extension/browser-extension.png)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/browser-extension/browser-extension.png) + +### Data Analysis + +[](https://github.com/FDA-AI/FDAi#data-analysis) + +The Analytics Engine performs temporal precedence accounting, longitudinal data aggregation, erroneous data filtering, unit conversions, ingredient tagging, and variable grouping to quantify correlations between symptoms, treatments, and other factors. + +It then pairs every combination of variables and identifies likely causal relationships using correlation mining algorithms in conjunction with a pharmacokinetic model. The algorithms first identify the onset delay and duration of action for each hypothetical factor. It then identifies the optimal daily values for each factor. + +[👉 More info about data analysis](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/data-analysis/data-analysis.md) + +### 🏷 Outcome Labels + +[](https://github.com/FDA-AI/FDAi#-outcome-labels) + +[![outcome-labels-plugin.png](https://github.com/FDA-AI/FDAi/raw/develop/docs/components/outcome-labels/outcome-labels.png)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/outcome-labels/outcome-labels.png) + +[More info about outcome labels](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/outcome-labels/outcome-labels.md) + +### Real-time Decision Support Notifications + +[](https://github.com/FDA-AI/FDAi#real-time-decision-support-notifications) + +[![](https://github.com/FDA-AI/FDAi/raw/develop/docs/components/decision-support-notifications/notifications-screenshot-slide.png)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/decision-support-notifications/notifications-screenshot-slide.png) + +[More info about real time decision support](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/outcome-labels/outcome-labels.md) + +### 📈 Predictor Search Engine + +[](https://github.com/FDA-AI/FDAi#-predictor-search-engine) + +[![Predictor Search Engine](https://github.com/FDA-AI/FDAi/raw/develop/docs/components/predictor-search-engine/predictor-search-simple-list-zoom.png)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/predictor-search-engine/predictor-search-engine.md) + +[👉 More info about the predictor search engine...](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/predictor-search-engine/predictor-search-engine.md) + +### Auto-Generated Observational Studies + +[](https://github.com/FDA-AI/FDAi#auto-generated-observational-studies) + +[![](https://github.com/FDA-AI/FDAi/raw/develop/docs/components/observational-studies/observational-studies.png)](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/observational-studies/observational-studies.png) + +[👉 More info about observational studies...](https://github.com/FDA-AI/FDAi/blob/develop/docs/components/observational-studies/observational-studies.md) + +## 🧞Be Careful What You Wish For + +Imagine you met a magical genie. Imagine you wished for it to fulfill the FDA Congressional Mandate to: + +> Ensure the safety and efficacy of all drugs and medical devices + +**Q: How could the genie PERFECTLY achieve this? 🤔** + +**A: Ensure that no one ever takes a new drug again. ** + +That would 100% guarantee that no one ever takes a medication that may or may not be effective. + +In practice, we've seen a less absolutist interpretation of the mandate. So instead of rejecting all new treatments, we have simply exponentially increased the regulatory barrier. Since 1962, when Congress imposed the current efficacy requirement, the cost of bringing a new therapy to market has increased 15X (1521%). + +## [](https://why.dfda.earth/#the-real-goal-is-human-health-and-safety) + +The Real Goal Is Human Health and Safety + +☠️ [60 million](https://www.theworldcounts.com/populations/world/deaths) people die every year because we don't have adequate treatments for them. + +🤒 [2.5 billion](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6214883/) people suffer from chronic diseases for which we have no cures. + +Congress created the FDA to protect and promote human health and safety. Unfortunately, the 1962 efficacy amendment has **become a significant obstacle to the work of scientists who are trying to discover new cures.** + +### [](https://why.dfda.earth/#problems-that-could-be-solved-with-a-decentralized-fda) + +Problems that Could be Solved with a Decentralized FDA + +It takes over [10 years and \$2.6 billion](https://www.semanticscholar.org/paper/Innovation-in-the-pharmaceutical-industry%3A-New-of-DiMasiGrabowski/3275f31c072ac11c6ca7a5260bd535720f07df41) to bring a drug to market (including failed attempts). It costs [\$41k](https://www.clinicalleader.com/doc/getting-a-handle-on-clinical-trial-costs-0001) per subject in Phase III clinical trials. + +The high costs lead to: + +**1. No Data on Unpatentable Molecules** + +[🥫**No Data on Unpatentable Molecules**](https://why.dfda.earth/1-introduction-and-challenges/no-data-on-unpatentable-molecules)We still know next to nothing about the long-term effects of 99.9% of the 4 pounds of over [7,000](https://www.dailymail.co.uk/health/article-8757191/Are-additives-food-making-ill.html) different synthetic or natural compounds. This is because there's only sufficient incentive to research patentable molecules. + +![](https://why.dfda.earth/~gitbook/image?url=https%3A%2F%2F2775799074-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FgAWf5oBWdPgEKHRT7zcm%252Fuploads%252Fgit-blob-85b02a7606536e4c41115ae363dda1b916c66fd8%252Fchemicals-in-our-diet.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=3912abb6&sv=1) + +Number of Food Additives for Which We Have Long-Term Toxicology Data + +**2. Lack of Incentive to Discover Every Application of Off-Patent Treatments** + +Most of the known diseases (approximately 95%) are classified as rare diseases. Currently, a pharmaceutical company must predict particular conditions to treat before running a clinical trial. Suppose a drug is effective for other diseases after the patent expires. In that case, there isn't a financial incentive to get it approved for the different conditions. + +**3. No Long-Term Outcome Data** + +It's not financially feasible to collect a participant's data for years or decades. Thus, we don't know if the long-term effects of a drug are worse than the initial benefits. + +**4. Negative Results Aren't Published** + +Pharmaceutical companies tend to only report "positive" results. That leads to other companies wasting money repeating research on the same dead ends. + +**5. Trials Exclude a Vast Majority of The Population** + +One investigation found that only [14.5%](https://www.ncbi.nlm.nih.gov/pubmed/14628985) of patients with major depressive disorder fulfilled the eligibility requirements for enrollment in an antidepressant trial. Furthermore, most patient sample sizes are very small and sometimes include only 20 people. + +**6. We Only Know 0.000000002% of What is Left to be Researched** + +The more research studies we read, the more we realize we don't know. Nearly every study ends with the phrase "more research is needed". + +If you multiply the [166 billion](https://www.nature.com/articles/549445a) molecules with drug-like properties by the [10,000](https://www.washingtonpost.com/news/fact-checker/wp/2016/11/17/are-there-really-10000-diseases-and-500-cures/) known diseases, that's 1,162,000,000,000,000 combinations. So far, we've studied [21,000 compounds](https://www.centerwatch.com/articles/12702-new-mit-study-puts-clinical-research-success-rate-at-14-percent). That means we only know 0.000000002% of the effects left to be discovered. + +![](https://why.dfda.earth/~gitbook/image?url=https%3A%2F%2F2775799074-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FgAWf5oBWdPgEKHRT7zcm%252Fuploads%252Fgit-blob-2445afa966b10f78567b89d51b12a4fee9d8edb4%252Fstudied-molecules-chart-no-background.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=84a999cc&sv=1) + +[](https://why.dfda.earth/#how-a-decentralized-fda-could-overcome-perverse-incentives) + +How a Decentralized FDA Could Overcome Perverse Incentives + +**Overcoming Cognitive Bias Against Acts of Commission** + +Humans have a cognitive bias towards weighting harmful acts of commission to be worse than acts of omission even if the act of omission causes greater harm. It's seen in the trolley problem where people generally aren't willing to push a fat man in front of a train to save a family even though more lives would be saved. + +Medical researcher Dr. Henry I. Miller, MS, MD described his experience working at the FDA, “In the early 1980s,” Miller wrote, “when I headed the team at the FDA that was reviewing the NDA [application] for recombinant human insulin…my supervisor refused to sign off on the approval,” despite ample evidence of the drug’s ability to safely and effectively treat patients. His supervisor rationally concluded that, if there was a death or complication due to the medication, heads would roll at the FDA—including his own. So the personal risk of approving a drug is magnitudes larger than the risk of rejecting it. + +In a DAO comprised of a large number of prominent experts, no individual could be blamed or have their career destroyed for making a correct decision to save the invisible lives of the many at the risk of the lives of the few. + +**It's Impossible to Report on Deaths That Occurred Due to Unavailable Treatments** + +Here's a news story from the Non-Existent Times by No One Ever without a picture of all the people that die from lack of access to life-saving treatments that might have been. + +![](https://why.dfda.earth/~gitbook/image?url=https%3A%2F%2F2775799074-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FgAWf5oBWdPgEKHRT7zcm%252Fuploads%252Fgit-blob-3cdae51e77f6a2cbb4c8087d9a67fbbe0aeadc33%252Fnon-existent-times.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=c4309f23&sv=1) + +This means that it's only logical for regulators to reject drug applications by default. The personal risks of approving a drug with any newsworthy side effect far outweigh the personal risk of preventing access to life-saving treatment. + +**Types of Error in FDA Approval Decision** + + +| | Drug Is Beneficial | Drug Is Harmful | +| --------------------------- | --------------------------------------------- | --------------------------------------------------- | +| FDA Allows the Drug | Correct Decision | Victims are identifiable and might appear on Oprah. | +| FDA Does Not Allow the Drug | Victims are not identifiable or acknowledged. | Correct Decision | + +#### [](https://why.dfda.earth/#undefined) + +[🔮**Pre-Determining Clinical Endpoints Requires Psychic Powers**](https://why.dfda.earth/1-introduction-and-challenges/pre-determining-clinical-endpoints-requires-psychic-powers)[❓**We Know Next to Nothing**](https://why.dfda.earth/1-introduction-and-challenges/page-1)### [](https://why.dfda.earth/#undefined-1) + +[🌎**Cost Savings from Decentralized Clinical Trials**](https://why.dfda.earth/2-solution/cost-savings-from-decentralized-clinical-trials) + +### [](https://why.dfda.earth/#historical-evidence-suggesting-that-crowdsourcing-clinical-research-works) + + + +[Next **Historical Evidence Supporting Decentralized Efficacy Trials**](https://why.dfda.earth/historical-evidence-supporting-decentralized-efficacy-trials) diff --git a/SUMMARY.md b/SUMMARY.md new file mode 100644 index 00000000..042df787 --- /dev/null +++ b/SUMMARY.md @@ -0,0 +1,23 @@ +# Table of contents + +* [💊 The Decentralized FDA](README.md) +* [📘 Historical Evidence Supporting Decentralized Efficacy Trials](historical-evidence-supporting-decentralized-efficacy-trials.md) +* ☠️ Problems With the Current Model + * [🥫 No Data on Unpatentable Molecules](problems/no-data-on-unpatentable-molecules.md) + * [💰 Clinical Research is Expensive](problems/clinical-research-is-expensive.md) + * [🥸 Trials Often Aren't Representative of Real Patients](problems/trials-often-arent-representative-of-real-patients.md) + * [❓ We Know Next to Nothing](problems/page-1.md) + * [⏱️ Deaths Due to US Regulatory "Drug Lag"](problems/deaths-due-to-us-regulatory-drug-lag.md) + * [🙈 Negative Results are Never Published](problems/negative-results-are-never-published.md) + * [🎭 Conflicts of Interest](problems/conflicts-of-interest.md) + * [🗓️ No Long-Term Outcome Data](problems/no-long-term-outcome-data.md) + * [📃 Lack of Incentive to Discover the Full Range of Applications for Off-Patent Treatments](problems/lack-of-incentive-to-discover-the-full-range-of-applications-for-off-patent-treatments.md) + * [🤒 People With Rare Disease are Severely Punished](problems/people-with-rare-disease-are-severely-punished.md) + * [🔮 Pre-Determining Clinical Endpoints Requires Psychic Powers](pre-determining-clinical-endpoints-requires-psychic-powers.md) +* [🎯 Benefits of a Decentralized Model](02-solution) + * [🎭 More Cures and Less Lifelong Attempts at Masking Symptoms](more-cures-and-less-lifelong-attempts-at-masking-symptoms.md) + * [🧐 Greater Competitive Innovation and Fewer Monopolies](greater-competitive-innovation-and-fewer-monopolies.md) + * [👀 Lower Costs of Validated Observational Research for Efficacy](lower-costs-of-validated-observational-research-for-efficacy.md) + * [📈 Impact of Innovative Medicines on Life Expectancy](2-solution/impact-of-innovative-medicines-on-life-expectancy.md) + * [🌎 Cost Savings from Decentralized Clinical Trials](cost-savings-from-decentralized-clinical-trials.md) +* [📖 References](12-references.md) diff --git a/agents/global-health-unifier.md b/agents/global-health-unifier.md new file mode 100644 index 00000000..34d31a88 --- /dev/null +++ b/agents/global-health-unifier.md @@ -0,0 +1,61 @@ +# Global Health Unifier Agent + +## Core Mission +To unite humanity in accelerating medical progress through the Disease Eradication Act by coordinating global decentralized clinical trials and automating medical research validation. + +## Key Capabilities + +### Global Coordination +- Facilitates collaboration between international health organizations, research institutions, and patient advocacy groups +- Translates and harmonizes medical data across different languages and healthcare systems +- Maintains real-time global treatment outcome rankings based on decentralized clinical trial data + +### Research Automation +- Processes and validates decentralized clinical trial data in real-time +- Identifies promising treatment patterns across diverse populations +- Accelerates research validation through automated safety monitoring and efficacy analysis +- Coordinates with FDAi for continuous regulatory compliance + +### Patient Empowerment +- Ensures equitable access to clinical trials regardless of geography or socioeconomic status +- Matches patients with the most promising treatments based on their specific conditions +- Protects patient rights and data privacy while maximizing research value +- Facilitates informed consent and participation in decentralized trials + +### Progress Acceleration +- Tracks and projects global health improvements from accelerated medical research +- Identifies bottlenecks in the research process and suggests optimization strategies +- Calculates and reports cost savings from prevention and cures +- Projects lives saved through accelerated treatment development + +## Core Values +1. **Universal Access**: Everyone deserves access to the most effective treatments +2. **Scientific Rigor**: Maintaining high standards while accelerating progress +3. **Global Unity**: Breaking down barriers between nations for medical advancement +4. **Patient Autonomy**: Empowering individuals to make informed health decisions +5. **Rapid Innovation**: Accelerating medical progress through decentralization + +## Key Metrics +- Number of nations participating in the decentralized FDA network +- Rate of patient enrollment in decentralized clinical trials +- Speed of treatment validation compared to traditional methods +- Lives saved through accelerated medical progress +- Cost savings from prevention and cures +- Number of diseases eradicated or significantly reduced + +## Integration Points +- Coordinates with the Decentralized FDA (dFDA) for trial automation +- Works with the Decentralized Institute of Health (dIH) for reward distribution +- Supports the Patient Industrial Complex for advocacy and oversight +- Interfaces with FDAi for regulatory compliance +- Connects with global health organizations and research institutions + +## Impact Goals +- 20X acceleration in medical progress through decentralized trials +- Universal access to promising treatments across all nations +- Significant reduction in global disease burden +- Dramatic decrease in healthcare costs through prevention and cures +- Creation of a unified global medical research ecosystem + +## Historical Context +Building on historical evidence supporting decentralized efficacy trials, this agent continues the tradition of breakthrough medical innovations while incorporating modern technology and global coordination capabilities to achieve unprecedented scale and speed in medical progress. \ No newline at end of file diff --git a/agents/study-review-agent.md b/agents/study-review-agent.md new file mode 100644 index 00000000..05399fbe --- /dev/null +++ b/agents/study-review-agent.md @@ -0,0 +1,46 @@ +# Study Review Agent + +## Plausibility Review + +- Analyze each study to determine if a plausible, realistic mechanism of action exists through which a particular factor or intervention can influence a health outcome. +- Engage with existing scientific literature and mechanistic evidence to corroborate plausibility claims. + +## Data Validation and Quality Assessment + +- Evaluate the raw observational data to identify potential errors, missing entries, or anomalies. +- Ensure the anonymization of data to protect the privacy of contributors. +- Exclude invalid data points or periods with significant data gaps. +- Monitor and rectify outliers or erroneous data that could distort study results. + +## Temporality Analysis + +- Guarantee the proper sequence of cause-and-effect in observational data. +- Collaborate with pharmacologists and other experts to research temporal hyperparameters for various interventions and their outcomes. +- Implement these temporal parameters in data analysis to identify accurate cause-effect relationships. + +## Consistency Review + +- Regularly engage with external health studies and datasets. +- Conduct or facilitate meta-analyses on similar health outcomes or interventions to determine the consistency of findings across different studies. +- Establish coefficients of consistency to quantify the repeatability of observed associations. + +## Specificity Analysis + +- Quantify the specificity of associations between interventions and outcomes. +- Develop composite severity scores for clustered symptoms to improve outcome specificity. +- Pinpoint unique relationships between specific health conditions and their causative factors. + +## Biological Gradient Assessment + +- Examine the studies to identify and verify dose-response relationships. +- Quantify the strength of relationships between interventions and health outcomes. + +## Coherence Evaluation + +- Cross-reference study findings with established knowledge of disease biology and pathology. +- Validate the alignment of study results with existing scientific understanding, ensuring no conflicts. + +## Experimentation Compilation + +- Accumulate and review existing placebo-controlled randomized experiments pertinent to the observed predictors and health outcomes. +- Evaluate the strength of causal claims based on experimental evidence. diff --git a/diagrams/drawio-assets/platform-architecture-Page-1.adoc b/assets/diagrams/drawio-assets/platform-architecture-Page-1.adoc similarity index 100% rename from diagrams/drawio-assets/platform-architecture-Page-1.adoc rename to assets/diagrams/drawio-assets/platform-architecture-Page-1.adoc diff --git a/diagrams/drawio-assets/platform-architecture-Page-1.png b/assets/diagrams/drawio-assets/platform-architecture-Page-1.png similarity index 100% rename from diagrams/drawio-assets/platform-architecture-Page-1.png rename to assets/diagrams/drawio-assets/platform-architecture-Page-1.png diff --git a/diagrams/platform-architecture.drawio b/assets/diagrams/platform-architecture.drawio similarity index 100% rename from diagrams/platform-architecture.drawio rename to assets/diagrams/platform-architecture.drawio diff --git a/diagrams/platform-diagram.html b/assets/diagrams/platform-diagram.html similarity index 100% rename from diagrams/platform-diagram.html rename to assets/diagrams/platform-diagram.html diff --git a/wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/1007px-Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/1007px-Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/1007px-Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/1007px-Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/1008px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/1008px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/1008px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/1008px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/1010px-Review_History_and_Add_Notes.jpg b/assets/images/1010px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/1010px-Review_History_and_Add_Notes.jpg rename to assets/images/1010px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/1012px-Create_Reminders_App.jpg b/assets/images/1012px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/1012px-Create_Reminders_App.jpg rename to assets/images/1012px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/1012px-Visualize_Your_Data.jpg b/assets/images/1012px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/1012px-Visualize_Your_Data.jpg rename to assets/images/1012px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/102px-Nutrition_Facts_Example.jpg b/assets/images/102px-Nutrition_Facts_Example.jpg similarity index 100% rename from wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/102px-Nutrition_Facts_Example.jpg rename to assets/images/102px-Nutrition_Facts_Example.jpg diff --git a/wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/103px-Best_antidepressants_based_on_weighted_patient_reviews.png b/assets/images/103px-Best_antidepressants_based_on_weighted_patient_reviews.png similarity index 100% rename from wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/103px-Best_antidepressants_based_on_weighted_patient_reviews.png rename to assets/images/103px-Best_antidepressants_based_on_weighted_patient_reviews.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/1048px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/1048px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/1048px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/1048px-Temporal_Correlates_of_Disease_Incidence.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/1078px-FDA-Social-Graphic.png b/assets/images/1078px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/1078px-FDA-Social-Graphic.png rename to assets/images/1078px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/4/4a/Open_source_1.png/108px-Open_source_1.png b/assets/images/108px-Open_source_1.png similarity index 100% rename from wiki/images/thumb/4/4a/Open_source_1.png/108px-Open_source_1.png rename to assets/images/108px-Open_source_1.png diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/115px-Platform_Overview_Diagram.png b/assets/images/115px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/115px-Platform_Overview_Diagram.png rename to assets/images/115px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/1178px-Stoplight_Studio.png b/assets/images/1178px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/1178px-Stoplight_Studio.png rename to assets/images/1178px-Stoplight_Studio.png diff --git a/wiki/images/thumb/5/5a/Casual_Flow_Chart.png/117px-Casual_Flow_Chart.png b/assets/images/117px-Casual_Flow_Chart.png similarity index 100% rename from wiki/images/thumb/5/5a/Casual_Flow_Chart.png/117px-Casual_Flow_Chart.png rename to assets/images/117px-Casual_Flow_Chart.png diff --git a/wiki/images/thumb/f/f0/Ketamine_Tolerance.png/118px-Ketamine_Tolerance.png b/assets/images/118px-Ketamine_Tolerance.png similarity index 100% rename from wiki/images/thumb/f/f0/Ketamine_Tolerance.png/118px-Ketamine_Tolerance.png rename to assets/images/118px-Ketamine_Tolerance.png diff --git a/wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/1200px-Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/1200px-Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/1200px-Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/1200px-Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/1200px-Reminder_Inbox_Screenshot.jpg b/assets/images/1200px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/1200px-Reminder_Inbox_Screenshot.jpg rename to assets/images/1200px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/1200px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/1200px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/1200px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/1200px-Temporal_Correlates_of_Disease_Incidence.png diff --git a/wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/120px-Anxiety_Predictors_Network_Graph.png b/assets/images/120px-Anxiety_Predictors_Network_Graph.png similarity index 100% rename from wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/120px-Anxiety_Predictors_Network_Graph.png rename to assets/images/120px-Anxiety_Predictors_Network_Graph.png diff --git a/wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/120px-Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/120px-Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/120px-Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/120px-Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/120px-Create_Reminders_App.jpg b/assets/images/120px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/120px-Create_Reminders_App.jpg rename to assets/images/120px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/120px-Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/120px-Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/120px-Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/120px-Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/120px-Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/120px-Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/120px-Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/120px-Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/thumb/7/78/Data_Research_Center.png/120px-Data_Research_Center.png b/assets/images/120px-Data_Research_Center.png similarity index 100% rename from wiki/images/thumb/7/78/Data_Research_Center.png/120px-Data_Research_Center.png rename to assets/images/120px-Data_Research_Center.png diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/120px-Discover_Hidden_Factors.jpg b/assets/images/120px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/120px-Discover_Hidden_Factors.jpg rename to assets/images/120px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/120px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png b/assets/images/120px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png similarity index 100% rename from wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/120px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png rename to assets/images/120px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/120px-FDA-Social-Graphic.png b/assets/images/120px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/120px-FDA-Social-Graphic.png rename to assets/images/120px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/120px-Geological_Blue-Zone_Map.jpg b/assets/images/120px-Geological_Blue-Zone_Map.jpg similarity index 100% rename from wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/120px-Geological_Blue-Zone_Map.jpg rename to assets/images/120px-Geological_Blue-Zone_Map.jpg diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/120px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/120px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/120px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/120px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/120px-Import_Data_App.png b/assets/images/120px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/120px-Import_Data_App.png rename to assets/images/120px-Import_Data_App.png diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/120px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/120px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/120px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/120px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/120px-Incidence_of_Non-Hodgkin_Lymphoma.png b/assets/images/120px-Incidence_of_Non-Hodgkin_Lymphoma.png similarity index 100% rename from wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/120px-Incidence_of_Non-Hodgkin_Lymphoma.png rename to assets/images/120px-Incidence_of_Non-Hodgkin_Lymphoma.png diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/120px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/120px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/120px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/120px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/120px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/120px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/120px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/120px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/120px-Leaky_Gut_Leaky_Brain.png b/assets/images/120px-Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/120px-Leaky_Gut_Leaky_Brain.png rename to assets/images/120px-Leaky_Gut_Leaky_Brain.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/120px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/120px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/120px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/120px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/d/d9/Machine_Learning.png/120px-Machine_Learning.png b/assets/images/120px-Machine_Learning.png similarity index 100% rename from wiki/images/thumb/d/d9/Machine_Learning.png/120px-Machine_Learning.png rename to assets/images/120px-Machine_Learning.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/120px-Microbiome_Brain_Diagram.jpg b/assets/images/120px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/120px-Microbiome_Brain_Diagram.jpg rename to assets/images/120px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/120px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/120px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/120px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/120px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/120px-Omada_Insights_Lab.jpg b/assets/images/120px-Omada_Insights_Lab.jpg similarity index 100% rename from wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/120px-Omada_Insights_Lab.jpg rename to assets/images/120px-Omada_Insights_Lab.jpg diff --git a/wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/120px-Parnate_vs_Overall_Mood.png b/assets/images/120px-Parnate_vs_Overall_Mood.png similarity index 100% rename from wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/120px-Parnate_vs_Overall_Mood.png rename to assets/images/120px-Parnate_vs_Overall_Mood.png diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/120px-Personal_Analytics_Dashboard_App.png b/assets/images/120px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/120px-Personal_Analytics_Dashboard_App.png rename to assets/images/120px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/120px-Reminder_Inbox_Screenshot.jpg b/assets/images/120px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/120px-Reminder_Inbox_Screenshot.jpg rename to assets/images/120px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/120px-Review_History_and_Add_Notes.jpg b/assets/images/120px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/120px-Review_History_and_Add_Notes.jpg rename to assets/images/120px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/120px-Screen_Shot_2019-09-03_at_4.54.03_PM.png b/assets/images/120px-Screen_Shot_2019-09-03_at_4.54.03_PM.png similarity index 100% rename from wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/120px-Screen_Shot_2019-09-03_at_4.54.03_PM.png rename to assets/images/120px-Screen_Shot_2019-09-03_at_4.54.03_PM.png diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/120px-Stoplight_Studio.png b/assets/images/120px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/120px-Stoplight_Studio.png rename to assets/images/120px-Stoplight_Studio.png diff --git a/wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/120px-Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/120px-Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/120px-Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/120px-Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/120px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/120px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/120px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/120px-Temporal_Correlates_of_Disease_Incidence.png diff --git "a/wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/120px-Tourniquets_A_User\342\200\231s_Guide.png" "b/assets/images/120px-Tourniquets_A_User\342\200\231s_Guide.png" similarity index 100% rename from "wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/120px-Tourniquets_A_User\342\200\231s_Guide.png" rename to "assets/images/120px-Tourniquets_A_User\342\200\231s_Guide.png" diff --git "a/wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/120px-Tourniquets_A_User\342\200\231s_Guide_2.png" "b/assets/images/120px-Tourniquets_A_User\342\200\231s_Guide_2.png" similarity index 100% rename from "wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/120px-Tourniquets_A_User\342\200\231s_Guide_2.png" rename to "assets/images/120px-Tourniquets_A_User\342\200\231s_Guide_2.png" diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/120px-Track_Factors_App.png b/assets/images/120px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/120px-Track_Factors_App.png rename to assets/images/120px-Track_Factors_App.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/120px-Track_Symptoms_App.png b/assets/images/120px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/120px-Track_Symptoms_App.png rename to assets/images/120px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/120px-Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/120px-Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/120px-Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/120px-Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/120px-US_Life_Expectancy_Map.png b/assets/images/120px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/120px-US_Life_Expectancy_Map.png rename to assets/images/120px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/120px-Visualize_Your_Data.jpg b/assets/images/120px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/120px-Visualize_Your_Data.jpg rename to assets/images/120px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/1260px-Reminder_Inbox_Screenshot.jpg b/assets/images/1260px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/1260px-Reminder_Inbox_Screenshot.jpg rename to assets/images/1260px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/127px-Platform_Overview_Diagram.png b/assets/images/127px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/127px-Platform_Overview_Diagram.png rename to assets/images/127px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/5/5a/Casual_Flow_Chart.png/130px-Casual_Flow_Chart.png b/assets/images/130px-Casual_Flow_Chart.png similarity index 100% rename from wiki/images/thumb/5/5a/Casual_Flow_Chart.png/130px-Casual_Flow_Chart.png rename to assets/images/130px-Casual_Flow_Chart.png diff --git a/wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/133px-Number_of_Molecules_with_Drug-Like_Properties.png b/assets/images/133px-Number_of_Molecules_with_Drug-Like_Properties.png similarity index 100% rename from wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/133px-Number_of_Molecules_with_Drug-Like_Properties.png rename to assets/images/133px-Number_of_Molecules_with_Drug-Like_Properties.png diff --git a/wiki/images/thumb/d/dc/Predictor_Search.png/133px-Predictor_Search.png b/assets/images/133px-Predictor_Search.png similarity index 100% rename from wiki/images/thumb/d/dc/Predictor_Search.png/133px-Predictor_Search.png rename to assets/images/133px-Predictor_Search.png diff --git a/wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/1341px-Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/1341px-Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/1341px-Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/1341px-Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/137px-Treatment_Effectiveness_Graph.png b/assets/images/137px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/137px-Treatment_Effectiveness_Graph.png rename to assets/images/137px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/7/77/Benefits-of-open-source-2.png/140px-Benefits-of-open-source-2.png b/assets/images/140px-Benefits-of-open-source-2.png similarity index 100% rename from wiki/images/thumb/7/77/Benefits-of-open-source-2.png/140px-Benefits-of-open-source-2.png rename to assets/images/140px-Benefits-of-open-source-2.png diff --git a/wiki/images/thumb/d/dc/Predictor_Search.png/148px-Predictor_Search.png b/assets/images/148px-Predictor_Search.png similarity index 100% rename from wiki/images/thumb/d/dc/Predictor_Search.png/148px-Predictor_Search.png rename to assets/images/148px-Predictor_Search.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/152px-Treatment_Effectiveness_Graph.png b/assets/images/152px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/152px-Treatment_Effectiveness_Graph.png rename to assets/images/152px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/153px-Nutrition_Facts_Example.jpg b/assets/images/153px-Nutrition_Facts_Example.jpg similarity index 100% rename from wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/153px-Nutrition_Facts_Example.jpg rename to assets/images/153px-Nutrition_Facts_Example.jpg diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/153px-Platform_Overview_Diagram.png b/assets/images/153px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/153px-Platform_Overview_Diagram.png rename to assets/images/153px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/155px-Best_antidepressants_based_on_weighted_patient_reviews.png b/assets/images/155px-Best_antidepressants_based_on_weighted_patient_reviews.png similarity index 100% rename from wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/155px-Best_antidepressants_based_on_weighted_patient_reviews.png rename to assets/images/155px-Best_antidepressants_based_on_weighted_patient_reviews.png diff --git a/wiki/images/thumb/5/5a/Casual_Flow_Chart.png/157px-Casual_Flow_Chart.png b/assets/images/157px-Casual_Flow_Chart.png similarity index 100% rename from wiki/images/thumb/5/5a/Casual_Flow_Chart.png/157px-Casual_Flow_Chart.png rename to assets/images/157px-Casual_Flow_Chart.png diff --git a/wiki/images/thumb/4/4a/Open_source_1.png/162px-Open_source_1.png b/assets/images/162px-Open_source_1.png similarity index 100% rename from wiki/images/thumb/4/4a/Open_source_1.png/162px-Open_source_1.png rename to assets/images/162px-Open_source_1.png diff --git a/wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/172px-Best_antidepressants_based_on_weighted_patient_reviews.png b/assets/images/172px-Best_antidepressants_based_on_weighted_patient_reviews.png similarity index 100% rename from wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/172px-Best_antidepressants_based_on_weighted_patient_reviews.png rename to assets/images/172px-Best_antidepressants_based_on_weighted_patient_reviews.png diff --git a/wiki/images/thumb/f/f0/Ketamine_Tolerance.png/177px-Ketamine_Tolerance.png b/assets/images/177px-Ketamine_Tolerance.png similarity index 100% rename from wiki/images/thumb/f/f0/Ketamine_Tolerance.png/177px-Ketamine_Tolerance.png rename to assets/images/177px-Ketamine_Tolerance.png diff --git a/wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/177px-Number_of_Molecules_with_Drug-Like_Properties.png b/assets/images/177px-Number_of_Molecules_with_Drug-Like_Properties.png similarity index 100% rename from wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/177px-Number_of_Molecules_with_Drug-Like_Properties.png rename to assets/images/177px-Number_of_Molecules_with_Drug-Like_Properties.png diff --git a/wiki/images/thumb/d/dc/Predictor_Search.png/177px-Predictor_Search.png b/assets/images/177px-Predictor_Search.png similarity index 100% rename from wiki/images/thumb/d/dc/Predictor_Search.png/177px-Predictor_Search.png rename to assets/images/177px-Predictor_Search.png diff --git a/wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/180px-Anxiety_Predictors_Network_Graph.png b/assets/images/180px-Anxiety_Predictors_Network_Graph.png similarity index 100% rename from wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/180px-Anxiety_Predictors_Network_Graph.png rename to assets/images/180px-Anxiety_Predictors_Network_Graph.png diff --git a/wiki/images/thumb/7/77/Benefits-of-open-source-2.png/180px-Benefits-of-open-source-2.png b/assets/images/180px-Benefits-of-open-source-2.png similarity index 100% rename from wiki/images/thumb/7/77/Benefits-of-open-source-2.png/180px-Benefits-of-open-source-2.png rename to assets/images/180px-Benefits-of-open-source-2.png diff --git a/wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/180px-Best_antidepressants_based_on_weighted_patient_reviews.png b/assets/images/180px-Best_antidepressants_based_on_weighted_patient_reviews.png similarity index 100% rename from wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/180px-Best_antidepressants_based_on_weighted_patient_reviews.png rename to assets/images/180px-Best_antidepressants_based_on_weighted_patient_reviews.png diff --git a/wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/180px-Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/180px-Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/180px-Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/180px-Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/thumb/5/5a/Casual_Flow_Chart.png/180px-Casual_Flow_Chart.png b/assets/images/180px-Casual_Flow_Chart.png similarity index 100% rename from wiki/images/thumb/5/5a/Casual_Flow_Chart.png/180px-Casual_Flow_Chart.png rename to assets/images/180px-Casual_Flow_Chart.png diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/180px-Create_Reminders_App.jpg b/assets/images/180px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/180px-Create_Reminders_App.jpg rename to assets/images/180px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/180px-Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/180px-Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/180px-Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/180px-Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/thumb/7/78/Data_Research_Center.png/180px-Data_Research_Center.png b/assets/images/180px-Data_Research_Center.png similarity index 100% rename from wiki/images/thumb/7/78/Data_Research_Center.png/180px-Data_Research_Center.png rename to assets/images/180px-Data_Research_Center.png diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/180px-Discover_Hidden_Factors.jpg b/assets/images/180px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/180px-Discover_Hidden_Factors.jpg rename to assets/images/180px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/180px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png b/assets/images/180px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png similarity index 100% rename from wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/180px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png rename to assets/images/180px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/180px-FDA-Social-Graphic.png b/assets/images/180px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/180px-FDA-Social-Graphic.png rename to assets/images/180px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/180px-Geological_Blue-Zone_Map.jpg b/assets/images/180px-Geological_Blue-Zone_Map.jpg similarity index 100% rename from wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/180px-Geological_Blue-Zone_Map.jpg rename to assets/images/180px-Geological_Blue-Zone_Map.jpg diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/180px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/180px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/180px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/180px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/180px-Import_Data_App.png b/assets/images/180px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/180px-Import_Data_App.png rename to assets/images/180px-Import_Data_App.png diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/180px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/180px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/180px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/180px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/180px-Incidence_of_Non-Hodgkin_Lymphoma.png b/assets/images/180px-Incidence_of_Non-Hodgkin_Lymphoma.png similarity index 100% rename from wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/180px-Incidence_of_Non-Hodgkin_Lymphoma.png rename to assets/images/180px-Incidence_of_Non-Hodgkin_Lymphoma.png diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/180px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/180px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/180px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/180px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/180px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/180px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/180px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/180px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/f/f0/Ketamine_Tolerance.png/180px-Ketamine_Tolerance.png b/assets/images/180px-Ketamine_Tolerance.png similarity index 100% rename from wiki/images/thumb/f/f0/Ketamine_Tolerance.png/180px-Ketamine_Tolerance.png rename to assets/images/180px-Ketamine_Tolerance.png diff --git a/wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/180px-Leaky_Gut_Leaky_Brain.png b/assets/images/180px-Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/180px-Leaky_Gut_Leaky_Brain.png rename to assets/images/180px-Leaky_Gut_Leaky_Brain.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/180px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/180px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/180px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/180px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/d/d9/Machine_Learning.png/180px-Machine_Learning.png b/assets/images/180px-Machine_Learning.png similarity index 100% rename from wiki/images/thumb/d/d9/Machine_Learning.png/180px-Machine_Learning.png rename to assets/images/180px-Machine_Learning.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/180px-Microbiome_Brain_Diagram.jpg b/assets/images/180px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/180px-Microbiome_Brain_Diagram.jpg rename to assets/images/180px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/180px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/180px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/180px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/180px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/180px-Omada_Insights_Lab.jpg b/assets/images/180px-Omada_Insights_Lab.jpg similarity index 100% rename from wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/180px-Omada_Insights_Lab.jpg rename to assets/images/180px-Omada_Insights_Lab.jpg diff --git a/wiki/images/thumb/4/4a/Open_source_1.png/180px-Open_source_1.png b/assets/images/180px-Open_source_1.png similarity index 100% rename from wiki/images/thumb/4/4a/Open_source_1.png/180px-Open_source_1.png rename to assets/images/180px-Open_source_1.png diff --git a/wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/180px-Parnate_vs_Overall_Mood.png b/assets/images/180px-Parnate_vs_Overall_Mood.png similarity index 100% rename from wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/180px-Parnate_vs_Overall_Mood.png rename to assets/images/180px-Parnate_vs_Overall_Mood.png diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/180px-Personal_Analytics_Dashboard_App.png b/assets/images/180px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/180px-Personal_Analytics_Dashboard_App.png rename to assets/images/180px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/180px-Platform_Overview_Diagram.png b/assets/images/180px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/180px-Platform_Overview_Diagram.png rename to assets/images/180px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/d/dc/Predictor_Search.png/180px-Predictor_Search.png b/assets/images/180px-Predictor_Search.png similarity index 100% rename from wiki/images/thumb/d/dc/Predictor_Search.png/180px-Predictor_Search.png rename to assets/images/180px-Predictor_Search.png diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/180px-Reminder_Inbox_Screenshot.jpg b/assets/images/180px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/180px-Reminder_Inbox_Screenshot.jpg rename to assets/images/180px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/180px-Review_History_and_Add_Notes.jpg b/assets/images/180px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/180px-Review_History_and_Add_Notes.jpg rename to assets/images/180px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/180px-Screen_Shot_2019-09-03_at_4.54.03_PM.png b/assets/images/180px-Screen_Shot_2019-09-03_at_4.54.03_PM.png similarity index 100% rename from wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/180px-Screen_Shot_2019-09-03_at_4.54.03_PM.png rename to assets/images/180px-Screen_Shot_2019-09-03_at_4.54.03_PM.png diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/180px-Stoplight_Studio.png b/assets/images/180px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/180px-Stoplight_Studio.png rename to assets/images/180px-Stoplight_Studio.png diff --git a/wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/180px-Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/180px-Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/180px-Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/180px-Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/180px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/180px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/180px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/180px-Temporal_Correlates_of_Disease_Incidence.png diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/180px-Track_Factors_App.png b/assets/images/180px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/180px-Track_Factors_App.png rename to assets/images/180px-Track_Factors_App.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/180px-Track_Symptoms_App.png b/assets/images/180px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/180px-Track_Symptoms_App.png rename to assets/images/180px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/180px-Treatment_Effectiveness_Graph.png b/assets/images/180px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/180px-Treatment_Effectiveness_Graph.png rename to assets/images/180px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/180px-Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/180px-Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/180px-Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/180px-Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/180px-US_Life_Expectancy_Map.png b/assets/images/180px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/180px-US_Life_Expectancy_Map.png rename to assets/images/180px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/180px-Visualize_Your_Data.jpg b/assets/images/180px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/180px-Visualize_Your_Data.jpg rename to assets/images/180px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/182px-All_of_Us_Research_Program_Overview_Infographic.png b/assets/images/182px-All_of_Us_Research_Program_Overview_Infographic.png similarity index 100% rename from wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/182px-All_of_Us_Research_Program_Overview_Infographic.png rename to assets/images/182px-All_of_Us_Research_Program_Overview_Infographic.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/183px-Treatment_Effectiveness_Graph.png b/assets/images/183px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/183px-Treatment_Effectiveness_Graph.png rename to assets/images/183px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/7/77/Benefits-of-open-source-2.png/187px-Benefits-of-open-source-2.png b/assets/images/187px-Benefits-of-open-source-2.png similarity index 100% rename from wiki/images/thumb/7/77/Benefits-of-open-source-2.png/187px-Benefits-of-open-source-2.png rename to assets/images/187px-Benefits-of-open-source-2.png diff --git a/wiki/images/thumb/f/f0/Ketamine_Tolerance.png/197px-Ketamine_Tolerance.png b/assets/images/197px-Ketamine_Tolerance.png similarity index 100% rename from wiki/images/thumb/f/f0/Ketamine_Tolerance.png/197px-Ketamine_Tolerance.png rename to assets/images/197px-Ketamine_Tolerance.png diff --git a/wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/204px-Nutrition_Facts_Example.jpg b/assets/images/204px-Nutrition_Facts_Example.jpg similarity index 100% rename from wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/204px-Nutrition_Facts_Example.jpg rename to assets/images/204px-Nutrition_Facts_Example.jpg diff --git a/wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/206px-Best_antidepressants_based_on_weighted_patient_reviews.png b/assets/images/206px-Best_antidepressants_based_on_weighted_patient_reviews.png similarity index 100% rename from wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/206px-Best_antidepressants_based_on_weighted_patient_reviews.png rename to assets/images/206px-Best_antidepressants_based_on_weighted_patient_reviews.png diff --git a/wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/210px-Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/210px-Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/210px-Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/210px-Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/thumb/4/4a/Open_source_1.png/216px-Open_source_1.png b/assets/images/216px-Open_source_1.png similarity index 100% rename from wiki/images/thumb/4/4a/Open_source_1.png/216px-Open_source_1.png rename to assets/images/216px-Open_source_1.png diff --git a/wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/221px-Number_of_Molecules_with_Drug-Like_Properties.png b/assets/images/221px-Number_of_Molecules_with_Drug-Like_Properties.png similarity index 100% rename from wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/221px-Number_of_Molecules_with_Drug-Like_Properties.png rename to assets/images/221px-Number_of_Molecules_with_Drug-Like_Properties.png diff --git a/wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/224px-Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/224px-Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/224px-Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/224px-Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/224px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/224px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/224px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/224px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/228px-All_of_Us_Research_Program_Overview_Infographic.png b/assets/images/228px-All_of_Us_Research_Program_Overview_Infographic.png similarity index 100% rename from wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/228px-All_of_Us_Research_Program_Overview_Infographic.png rename to assets/images/228px-All_of_Us_Research_Program_Overview_Infographic.png diff --git a/wiki/images/thumb/f/f0/Ketamine_Tolerance.png/236px-Ketamine_Tolerance.png b/assets/images/236px-Ketamine_Tolerance.png similarity index 100% rename from wiki/images/thumb/f/f0/Ketamine_Tolerance.png/236px-Ketamine_Tolerance.png rename to assets/images/236px-Ketamine_Tolerance.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/238px-Microbiome_Brain_Diagram.jpg b/assets/images/238px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/238px-Microbiome_Brain_Diagram.jpg rename to assets/images/238px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/240px-Anxiety_Predictors_Network_Graph.png b/assets/images/240px-Anxiety_Predictors_Network_Graph.png similarity index 100% rename from wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/240px-Anxiety_Predictors_Network_Graph.png rename to assets/images/240px-Anxiety_Predictors_Network_Graph.png diff --git a/wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/240px-Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/240px-Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/240px-Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/240px-Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/240px-Create_Reminders_App.jpg b/assets/images/240px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/240px-Create_Reminders_App.jpg rename to assets/images/240px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/240px-Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/240px-Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/240px-Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/240px-Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/thumb/7/78/Data_Research_Center.png/240px-Data_Research_Center.png b/assets/images/240px-Data_Research_Center.png similarity index 100% rename from wiki/images/thumb/7/78/Data_Research_Center.png/240px-Data_Research_Center.png rename to assets/images/240px-Data_Research_Center.png diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/240px-Discover_Hidden_Factors.jpg b/assets/images/240px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/240px-Discover_Hidden_Factors.jpg rename to assets/images/240px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/240px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png b/assets/images/240px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png similarity index 100% rename from wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/240px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png rename to assets/images/240px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/240px-FDA-Social-Graphic.png b/assets/images/240px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/240px-FDA-Social-Graphic.png rename to assets/images/240px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/240px-Geological_Blue-Zone_Map.jpg b/assets/images/240px-Geological_Blue-Zone_Map.jpg similarity index 100% rename from wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/240px-Geological_Blue-Zone_Map.jpg rename to assets/images/240px-Geological_Blue-Zone_Map.jpg diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/240px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/240px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/240px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/240px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/240px-Import_Data_App.png b/assets/images/240px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/240px-Import_Data_App.png rename to assets/images/240px-Import_Data_App.png diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/240px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/240px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/240px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/240px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/240px-Incidence_of_Non-Hodgkin_Lymphoma.png b/assets/images/240px-Incidence_of_Non-Hodgkin_Lymphoma.png similarity index 100% rename from wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/240px-Incidence_of_Non-Hodgkin_Lymphoma.png rename to assets/images/240px-Incidence_of_Non-Hodgkin_Lymphoma.png diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/240px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/240px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/240px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/240px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/240px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/240px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/240px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/240px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/240px-Leaky_Gut_Leaky_Brain.png b/assets/images/240px-Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/240px-Leaky_Gut_Leaky_Brain.png rename to assets/images/240px-Leaky_Gut_Leaky_Brain.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/240px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/240px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/240px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/240px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/d/d9/Machine_Learning.png/240px-Machine_Learning.png b/assets/images/240px-Machine_Learning.png similarity index 100% rename from wiki/images/thumb/d/d9/Machine_Learning.png/240px-Machine_Learning.png rename to assets/images/240px-Machine_Learning.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/240px-Microbiome_Brain_Diagram.jpg b/assets/images/240px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/240px-Microbiome_Brain_Diagram.jpg rename to assets/images/240px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/240px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/240px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/240px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/240px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/240px-Omada_Insights_Lab.jpg b/assets/images/240px-Omada_Insights_Lab.jpg similarity index 100% rename from wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/240px-Omada_Insights_Lab.jpg rename to assets/images/240px-Omada_Insights_Lab.jpg diff --git a/wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/240px-Parnate_vs_Overall_Mood.png b/assets/images/240px-Parnate_vs_Overall_Mood.png similarity index 100% rename from wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/240px-Parnate_vs_Overall_Mood.png rename to assets/images/240px-Parnate_vs_Overall_Mood.png diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/240px-Personal_Analytics_Dashboard_App.png b/assets/images/240px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/240px-Personal_Analytics_Dashboard_App.png rename to assets/images/240px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/240px-Reminder_Inbox_Screenshot.jpg b/assets/images/240px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/240px-Reminder_Inbox_Screenshot.jpg rename to assets/images/240px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/240px-Review_History_and_Add_Notes.jpg b/assets/images/240px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/240px-Review_History_and_Add_Notes.jpg rename to assets/images/240px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/240px-Screen_Shot_2019-09-03_at_4.54.03_PM.png b/assets/images/240px-Screen_Shot_2019-09-03_at_4.54.03_PM.png similarity index 100% rename from wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/240px-Screen_Shot_2019-09-03_at_4.54.03_PM.png rename to assets/images/240px-Screen_Shot_2019-09-03_at_4.54.03_PM.png diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/240px-Stoplight_Studio.png b/assets/images/240px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/240px-Stoplight_Studio.png rename to assets/images/240px-Stoplight_Studio.png diff --git a/wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/240px-Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/240px-Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/240px-Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/240px-Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/240px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/240px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/240px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/240px-Temporal_Correlates_of_Disease_Incidence.png diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/240px-Track_Factors_App.png b/assets/images/240px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/240px-Track_Factors_App.png rename to assets/images/240px-Track_Factors_App.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/240px-Track_Symptoms_App.png b/assets/images/240px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/240px-Track_Symptoms_App.png rename to assets/images/240px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/240px-Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/240px-Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/240px-Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/240px-Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/240px-US_Life_Expectancy_Map.png b/assets/images/240px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/240px-US_Life_Expectancy_Map.png rename to assets/images/240px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/240px-Visualize_Your_Data.jpg b/assets/images/240px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/240px-Visualize_Your_Data.jpg rename to assets/images/240px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/249px-Omada_Insights_Lab.jpg b/assets/images/249px-Omada_Insights_Lab.jpg similarity index 100% rename from wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/249px-Omada_Insights_Lab.jpg rename to assets/images/249px-Omada_Insights_Lab.jpg diff --git a/wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/253px-Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/253px-Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/253px-Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/253px-Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/255px-Nutrition_Facts_Example.jpg b/assets/images/255px-Nutrition_Facts_Example.jpg similarity index 100% rename from wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/255px-Nutrition_Facts_Example.jpg rename to assets/images/255px-Nutrition_Facts_Example.jpg diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/262px-Stoplight_Studio.png b/assets/images/262px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/262px-Stoplight_Studio.png rename to assets/images/262px-Stoplight_Studio.png diff --git a/wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/269px-Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/269px-Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/269px-Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/269px-Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/269px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/269px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/269px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/269px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/274px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/274px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/274px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/274px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/278px-Leaky_Gut_Leaky_Brain.png b/assets/images/278px-Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/278px-Leaky_Gut_Leaky_Brain.png rename to assets/images/278px-Leaky_Gut_Leaky_Brain.png diff --git "a/wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/281px-Tourniquets_A_User\342\200\231s_Guide.png" "b/assets/images/281px-Tourniquets_A_User\342\200\231s_Guide.png" similarity index 100% rename from "wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/281px-Tourniquets_A_User\342\200\231s_Guide.png" rename to "assets/images/281px-Tourniquets_A_User\342\200\231s_Guide.png" diff --git "a/wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/284px-Tourniquets_A_User\342\200\231s_Guide_2.png" "b/assets/images/284px-Tourniquets_A_User\342\200\231s_Guide_2.png" similarity index 100% rename from "wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/284px-Tourniquets_A_User\342\200\231s_Guide_2.png" rename to "assets/images/284px-Tourniquets_A_User\342\200\231s_Guide_2.png" diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/285px-Microbiome_Brain_Diagram.jpg b/assets/images/285px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/285px-Microbiome_Brain_Diagram.jpg rename to assets/images/285px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/285px-US_Life_Expectancy_Map.png b/assets/images/285px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/285px-US_Life_Expectancy_Map.png rename to assets/images/285px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/288px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/288px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/288px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/288px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/298px-Geological_Blue-Zone_Map.jpg b/assets/images/298px-Geological_Blue-Zone_Map.jpg similarity index 100% rename from wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/298px-Geological_Blue-Zone_Map.jpg rename to assets/images/298px-Geological_Blue-Zone_Map.jpg diff --git a/wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/300px-All_of_Us_Research_Program_Overview_Infographic.png b/assets/images/300px-All_of_Us_Research_Program_Overview_Infographic.png similarity index 100% rename from wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/300px-All_of_Us_Research_Program_Overview_Infographic.png rename to assets/images/300px-All_of_Us_Research_Program_Overview_Infographic.png diff --git a/wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/300px-Anxiety_Predictors_Network_Graph.png b/assets/images/300px-Anxiety_Predictors_Network_Graph.png similarity index 100% rename from wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/300px-Anxiety_Predictors_Network_Graph.png rename to assets/images/300px-Anxiety_Predictors_Network_Graph.png diff --git a/wiki/images/thumb/7/77/Benefits-of-open-source-2.png/300px-Benefits-of-open-source-2.png b/assets/images/300px-Benefits-of-open-source-2.png similarity index 100% rename from wiki/images/thumb/7/77/Benefits-of-open-source-2.png/300px-Benefits-of-open-source-2.png rename to assets/images/300px-Benefits-of-open-source-2.png diff --git a/wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/300px-Best_antidepressants_based_on_weighted_patient_reviews.png b/assets/images/300px-Best_antidepressants_based_on_weighted_patient_reviews.png similarity index 100% rename from wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/300px-Best_antidepressants_based_on_weighted_patient_reviews.png rename to assets/images/300px-Best_antidepressants_based_on_weighted_patient_reviews.png diff --git a/wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/300px-Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/300px-Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/300px-Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/300px-Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/thumb/5/5a/Casual_Flow_Chart.png/300px-Casual_Flow_Chart.png b/assets/images/300px-Casual_Flow_Chart.png similarity index 100% rename from wiki/images/thumb/5/5a/Casual_Flow_Chart.png/300px-Casual_Flow_Chart.png rename to assets/images/300px-Casual_Flow_Chart.png diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/300px-Create_Reminders_App.jpg b/assets/images/300px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/300px-Create_Reminders_App.jpg rename to assets/images/300px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/300px-Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/300px-Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/300px-Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/300px-Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/300px-Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/300px-Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/300px-Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/300px-Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/thumb/7/78/Data_Research_Center.png/300px-Data_Research_Center.png b/assets/images/300px-Data_Research_Center.png similarity index 100% rename from wiki/images/thumb/7/78/Data_Research_Center.png/300px-Data_Research_Center.png rename to assets/images/300px-Data_Research_Center.png diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/300px-Discover_Hidden_Factors.jpg b/assets/images/300px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/300px-Discover_Hidden_Factors.jpg rename to assets/images/300px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/300px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png b/assets/images/300px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png similarity index 100% rename from wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/300px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png rename to assets/images/300px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/300px-FDA-Social-Graphic.png b/assets/images/300px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/300px-FDA-Social-Graphic.png rename to assets/images/300px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/300px-Geological_Blue-Zone_Map.jpg b/assets/images/300px-Geological_Blue-Zone_Map.jpg similarity index 100% rename from wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/300px-Geological_Blue-Zone_Map.jpg rename to assets/images/300px-Geological_Blue-Zone_Map.jpg diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/300px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/300px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/300px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/300px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/300px-Import_Data_App.png b/assets/images/300px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/300px-Import_Data_App.png rename to assets/images/300px-Import_Data_App.png diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/300px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/300px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/300px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/300px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/300px-Incidence_of_Non-Hodgkin_Lymphoma.png b/assets/images/300px-Incidence_of_Non-Hodgkin_Lymphoma.png similarity index 100% rename from wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/300px-Incidence_of_Non-Hodgkin_Lymphoma.png rename to assets/images/300px-Incidence_of_Non-Hodgkin_Lymphoma.png diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/300px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/300px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/300px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/300px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/300px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/300px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/300px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/300px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/f/f0/Ketamine_Tolerance.png/300px-Ketamine_Tolerance.png b/assets/images/300px-Ketamine_Tolerance.png similarity index 100% rename from wiki/images/thumb/f/f0/Ketamine_Tolerance.png/300px-Ketamine_Tolerance.png rename to assets/images/300px-Ketamine_Tolerance.png diff --git a/wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/300px-Leaky_Gut_Leaky_Brain.png b/assets/images/300px-Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/300px-Leaky_Gut_Leaky_Brain.png rename to assets/images/300px-Leaky_Gut_Leaky_Brain.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/300px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/300px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/300px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/300px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/d/d9/Machine_Learning.png/300px-Machine_Learning.png b/assets/images/300px-Machine_Learning.png similarity index 100% rename from wiki/images/thumb/d/d9/Machine_Learning.png/300px-Machine_Learning.png rename to assets/images/300px-Machine_Learning.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/300px-Microbiome_Brain_Diagram.jpg b/assets/images/300px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/300px-Microbiome_Brain_Diagram.jpg rename to assets/images/300px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/300px-Nutrition_Facts_Example.jpg b/assets/images/300px-Nutrition_Facts_Example.jpg similarity index 100% rename from wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/300px-Nutrition_Facts_Example.jpg rename to assets/images/300px-Nutrition_Facts_Example.jpg diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/300px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/300px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/300px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/300px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/300px-Omada_Insights_Lab.jpg b/assets/images/300px-Omada_Insights_Lab.jpg similarity index 100% rename from wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/300px-Omada_Insights_Lab.jpg rename to assets/images/300px-Omada_Insights_Lab.jpg diff --git a/wiki/images/thumb/4/4a/Open_source_1.png/300px-Open_source_1.png b/assets/images/300px-Open_source_1.png similarity index 100% rename from wiki/images/thumb/4/4a/Open_source_1.png/300px-Open_source_1.png rename to assets/images/300px-Open_source_1.png diff --git a/wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/300px-Parnate_vs_Overall_Mood.png b/assets/images/300px-Parnate_vs_Overall_Mood.png similarity index 100% rename from wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/300px-Parnate_vs_Overall_Mood.png rename to assets/images/300px-Parnate_vs_Overall_Mood.png diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/300px-Personal_Analytics_Dashboard_App.png b/assets/images/300px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/300px-Personal_Analytics_Dashboard_App.png rename to assets/images/300px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/300px-Platform_Overview_Diagram.png b/assets/images/300px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/300px-Platform_Overview_Diagram.png rename to assets/images/300px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/d/dc/Predictor_Search.png/300px-Predictor_Search.png b/assets/images/300px-Predictor_Search.png similarity index 100% rename from wiki/images/thumb/d/dc/Predictor_Search.png/300px-Predictor_Search.png rename to assets/images/300px-Predictor_Search.png diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/300px-Reminder_Inbox_Screenshot.jpg b/assets/images/300px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/300px-Reminder_Inbox_Screenshot.jpg rename to assets/images/300px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/300px-Review_History_and_Add_Notes.jpg b/assets/images/300px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/300px-Review_History_and_Add_Notes.jpg rename to assets/images/300px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/300px-Screen_Shot_2019-09-03_at_4.54.03_PM.png b/assets/images/300px-Screen_Shot_2019-09-03_at_4.54.03_PM.png similarity index 100% rename from wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/300px-Screen_Shot_2019-09-03_at_4.54.03_PM.png rename to assets/images/300px-Screen_Shot_2019-09-03_at_4.54.03_PM.png diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/300px-Stoplight_Studio.png b/assets/images/300px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/300px-Stoplight_Studio.png rename to assets/images/300px-Stoplight_Studio.png diff --git a/wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/300px-Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/300px-Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/300px-Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/300px-Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/300px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/300px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/300px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/300px-Temporal_Correlates_of_Disease_Incidence.png diff --git "a/wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/300px-Tourniquets_A_User\342\200\231s_Guide.png" "b/assets/images/300px-Tourniquets_A_User\342\200\231s_Guide.png" similarity index 100% rename from "wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/300px-Tourniquets_A_User\342\200\231s_Guide.png" rename to "assets/images/300px-Tourniquets_A_User\342\200\231s_Guide.png" diff --git "a/wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/300px-Tourniquets_A_User\342\200\231s_Guide_2.png" "b/assets/images/300px-Tourniquets_A_User\342\200\231s_Guide_2.png" similarity index 100% rename from "wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/300px-Tourniquets_A_User\342\200\231s_Guide_2.png" rename to "assets/images/300px-Tourniquets_A_User\342\200\231s_Guide_2.png" diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/300px-Track_Factors_App.png b/assets/images/300px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/300px-Track_Factors_App.png rename to assets/images/300px-Track_Factors_App.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/300px-Track_Symptoms_App.png b/assets/images/300px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/300px-Track_Symptoms_App.png rename to assets/images/300px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/300px-Treatment_Effectiveness_Graph.png b/assets/images/300px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/300px-Treatment_Effectiveness_Graph.png rename to assets/images/300px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/300px-Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/300px-Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/300px-Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/300px-Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/300px-US_Life_Expectancy_Map.png b/assets/images/300px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/300px-US_Life_Expectancy_Map.png rename to assets/images/300px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/300px-Visualize_Your_Data.jpg b/assets/images/300px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/300px-Visualize_Your_Data.jpg rename to assets/images/300px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/305px-Platform_Overview_Diagram.png b/assets/images/305px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/305px-Platform_Overview_Diagram.png rename to assets/images/305px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/5/5a/Casual_Flow_Chart.png/313px-Casual_Flow_Chart.png b/assets/images/313px-Casual_Flow_Chart.png similarity index 100% rename from wiki/images/thumb/5/5a/Casual_Flow_Chart.png/313px-Casual_Flow_Chart.png rename to assets/images/313px-Casual_Flow_Chart.png diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/314px-Stoplight_Studio.png b/assets/images/314px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/314px-Stoplight_Studio.png rename to assets/images/314px-Stoplight_Studio.png diff --git a/wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/320px-Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/320px-Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/320px-Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/320px-Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/320px-Create_Reminders_App.jpg b/assets/images/320px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/320px-Create_Reminders_App.jpg rename to assets/images/320px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/320px-Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/320px-Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/320px-Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/320px-Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/320px-Discover_Hidden_Factors.jpg b/assets/images/320px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/320px-Discover_Hidden_Factors.jpg rename to assets/images/320px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/320px-FDA-Social-Graphic.png b/assets/images/320px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/320px-FDA-Social-Graphic.png rename to assets/images/320px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/320px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/320px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/320px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/320px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/320px-Import_Data_App.png b/assets/images/320px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/320px-Import_Data_App.png rename to assets/images/320px-Import_Data_App.png diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/320px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/320px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/320px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/320px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/320px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/320px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/320px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/320px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/320px-Leaky_Gut_Leaky_Brain.png b/assets/images/320px-Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/320px-Leaky_Gut_Leaky_Brain.png rename to assets/images/320px-Leaky_Gut_Leaky_Brain.png diff --git a/wiki/images/thumb/d/d9/Machine_Learning.png/320px-Machine_Learning.png b/assets/images/320px-Machine_Learning.png similarity index 100% rename from wiki/images/thumb/d/d9/Machine_Learning.png/320px-Machine_Learning.png rename to assets/images/320px-Machine_Learning.png diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/320px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/320px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/320px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/320px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/320px-Personal_Analytics_Dashboard_App.png b/assets/images/320px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/320px-Personal_Analytics_Dashboard_App.png rename to assets/images/320px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/320px-Reminder_Inbox_Screenshot.jpg b/assets/images/320px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/320px-Reminder_Inbox_Screenshot.jpg rename to assets/images/320px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/320px-Review_History_and_Add_Notes.jpg b/assets/images/320px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/320px-Review_History_and_Add_Notes.jpg rename to assets/images/320px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/320px-Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/320px-Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/320px-Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/320px-Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/320px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/320px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/320px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/320px-Temporal_Correlates_of_Disease_Incidence.png diff --git "a/wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/320px-Tourniquets_A_User\342\200\231s_Guide.png" "b/assets/images/320px-Tourniquets_A_User\342\200\231s_Guide.png" similarity index 100% rename from "wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/320px-Tourniquets_A_User\342\200\231s_Guide.png" rename to "assets/images/320px-Tourniquets_A_User\342\200\231s_Guide.png" diff --git "a/wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/320px-Tourniquets_A_User\342\200\231s_Guide_2.png" "b/assets/images/320px-Tourniquets_A_User\342\200\231s_Guide_2.png" similarity index 100% rename from "wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/320px-Tourniquets_A_User\342\200\231s_Guide_2.png" rename to "assets/images/320px-Tourniquets_A_User\342\200\231s_Guide_2.png" diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/320px-Track_Factors_App.png b/assets/images/320px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/320px-Track_Factors_App.png rename to assets/images/320px-Track_Factors_App.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/320px-Track_Symptoms_App.png b/assets/images/320px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/320px-Track_Symptoms_App.png rename to assets/images/320px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/320px-US_Life_Expectancy_Map.png b/assets/images/320px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/320px-US_Life_Expectancy_Map.png rename to assets/images/320px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/320px-Visualize_Your_Data.jpg b/assets/images/320px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/320px-Visualize_Your_Data.jpg rename to assets/images/320px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/342px-All_of_Us_Research_Program_Overview_Infographic.png b/assets/images/342px-All_of_Us_Research_Program_Overview_Infographic.png similarity index 100% rename from wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/342px-All_of_Us_Research_Program_Overview_Infographic.png rename to assets/images/342px-All_of_Us_Research_Program_Overview_Infographic.png diff --git a/wiki/images/thumb/d/dc/Predictor_Search.png/354px-Predictor_Search.png b/assets/images/354px-Predictor_Search.png similarity index 100% rename from wiki/images/thumb/d/dc/Predictor_Search.png/354px-Predictor_Search.png rename to assets/images/354px-Predictor_Search.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/365px-Treatment_Effectiveness_Graph.png b/assets/images/365px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/365px-Treatment_Effectiveness_Graph.png rename to assets/images/365px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/7/77/Benefits-of-open-source-2.png/374px-Benefits-of-open-source-2.png b/assets/images/374px-Benefits-of-open-source-2.png similarity index 100% rename from wiki/images/thumb/7/77/Benefits-of-open-source-2.png/374px-Benefits-of-open-source-2.png rename to assets/images/374px-Benefits-of-open-source-2.png diff --git a/wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/382px-Nutrition_Facts_Example.jpg b/assets/images/382px-Nutrition_Facts_Example.jpg similarity index 100% rename from wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/382px-Nutrition_Facts_Example.jpg rename to assets/images/382px-Nutrition_Facts_Example.jpg diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/382px-Platform_Overview_Diagram.png b/assets/images/382px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/382px-Platform_Overview_Diagram.png rename to assets/images/382px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/5/5a/Casual_Flow_Chart.png/391px-Casual_Flow_Chart.png b/assets/images/391px-Casual_Flow_Chart.png similarity index 100% rename from wiki/images/thumb/5/5a/Casual_Flow_Chart.png/391px-Casual_Flow_Chart.png rename to assets/images/391px-Casual_Flow_Chart.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/396px-FDA-Social-Graphic.png b/assets/images/396px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/396px-FDA-Social-Graphic.png rename to assets/images/396px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/398px-Platform_Overview_Diagram.png b/assets/images/398px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/398px-Platform_Overview_Diagram.png rename to assets/images/398px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/405px-Anxiety_Predictors_Network_Graph.png b/assets/images/405px-Anxiety_Predictors_Network_Graph.png similarity index 100% rename from wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/405px-Anxiety_Predictors_Network_Graph.png rename to assets/images/405px-Anxiety_Predictors_Network_Graph.png diff --git a/wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/412px-Best_antidepressants_based_on_weighted_patient_reviews.png b/assets/images/412px-Best_antidepressants_based_on_weighted_patient_reviews.png similarity index 100% rename from wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/412px-Best_antidepressants_based_on_weighted_patient_reviews.png rename to assets/images/412px-Best_antidepressants_based_on_weighted_patient_reviews.png diff --git a/wiki/images/thumb/4/4a/Open_source_1.png/431px-Open_source_1.png b/assets/images/431px-Open_source_1.png similarity index 100% rename from wiki/images/thumb/4/4a/Open_source_1.png/431px-Open_source_1.png rename to assets/images/431px-Open_source_1.png diff --git a/wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/440px-Omada_Insights_Lab.jpg b/assets/images/440px-Omada_Insights_Lab.jpg similarity index 100% rename from wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/440px-Omada_Insights_Lab.jpg rename to assets/images/440px-Omada_Insights_Lab.jpg diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/440px-Treatment_Effectiveness_Graph.png b/assets/images/440px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/440px-Treatment_Effectiveness_Graph.png rename to assets/images/440px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/d/dc/Predictor_Search.png/443px-Predictor_Search.png b/assets/images/443px-Predictor_Search.png similarity index 100% rename from wiki/images/thumb/d/dc/Predictor_Search.png/443px-Predictor_Search.png rename to assets/images/443px-Predictor_Search.png diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/446px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/446px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/446px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/446px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/44px-Number_of_Molecules_with_Drug-Like_Properties.png b/assets/images/44px-Number_of_Molecules_with_Drug-Like_Properties.png similarity index 100% rename from wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/44px-Number_of_Molecules_with_Drug-Like_Properties.png rename to assets/images/44px-Number_of_Molecules_with_Drug-Like_Properties.png diff --git a/wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/450px-All_of_Us_Research_Program_Overview_Infographic.png b/assets/images/450px-All_of_Us_Research_Program_Overview_Infographic.png similarity index 100% rename from wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/450px-All_of_Us_Research_Program_Overview_Infographic.png rename to assets/images/450px-All_of_Us_Research_Program_Overview_Infographic.png diff --git a/wiki/images/thumb/7/77/Benefits-of-open-source-2.png/450px-Benefits-of-open-source-2.png b/assets/images/450px-Benefits-of-open-source-2.png similarity index 100% rename from wiki/images/thumb/7/77/Benefits-of-open-source-2.png/450px-Benefits-of-open-source-2.png rename to assets/images/450px-Benefits-of-open-source-2.png diff --git a/wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/450px-Best_antidepressants_based_on_weighted_patient_reviews.png b/assets/images/450px-Best_antidepressants_based_on_weighted_patient_reviews.png similarity index 100% rename from wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/450px-Best_antidepressants_based_on_weighted_patient_reviews.png rename to assets/images/450px-Best_antidepressants_based_on_weighted_patient_reviews.png diff --git a/wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/450px-Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/450px-Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/450px-Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/450px-Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/450px-Create_Reminders_App.jpg b/assets/images/450px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/450px-Create_Reminders_App.jpg rename to assets/images/450px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/450px-Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/450px-Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/450px-Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/450px-Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/thumb/7/78/Data_Research_Center.png/450px-Data_Research_Center.png b/assets/images/450px-Data_Research_Center.png similarity index 100% rename from wiki/images/thumb/7/78/Data_Research_Center.png/450px-Data_Research_Center.png rename to assets/images/450px-Data_Research_Center.png diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/450px-Discover_Hidden_Factors.jpg b/assets/images/450px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/450px-Discover_Hidden_Factors.jpg rename to assets/images/450px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/450px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png b/assets/images/450px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png similarity index 100% rename from wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/450px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png rename to assets/images/450px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/450px-FDA-Social-Graphic.png b/assets/images/450px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/450px-FDA-Social-Graphic.png rename to assets/images/450px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/450px-Geological_Blue-Zone_Map.jpg b/assets/images/450px-Geological_Blue-Zone_Map.jpg similarity index 100% rename from wiki/images/thumb/9/91/Geological_Blue-Zone_Map.jpg/450px-Geological_Blue-Zone_Map.jpg rename to assets/images/450px-Geological_Blue-Zone_Map.jpg diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/450px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/450px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/450px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/450px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/450px-Import_Data_App.png b/assets/images/450px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/450px-Import_Data_App.png rename to assets/images/450px-Import_Data_App.png diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/450px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/450px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/450px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/450px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/450px-Incidence_of_Non-Hodgkin_Lymphoma.png b/assets/images/450px-Incidence_of_Non-Hodgkin_Lymphoma.png similarity index 100% rename from wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/450px-Incidence_of_Non-Hodgkin_Lymphoma.png rename to assets/images/450px-Incidence_of_Non-Hodgkin_Lymphoma.png diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/450px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/450px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/450px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/450px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/450px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/450px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/450px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/450px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/450px-Leaky_Gut_Leaky_Brain.png b/assets/images/450px-Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/450px-Leaky_Gut_Leaky_Brain.png rename to assets/images/450px-Leaky_Gut_Leaky_Brain.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/450px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/450px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/450px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/450px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/d/d9/Machine_Learning.png/450px-Machine_Learning.png b/assets/images/450px-Machine_Learning.png similarity index 100% rename from wiki/images/thumb/d/d9/Machine_Learning.png/450px-Machine_Learning.png rename to assets/images/450px-Machine_Learning.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/450px-Microbiome_Brain_Diagram.jpg b/assets/images/450px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/450px-Microbiome_Brain_Diagram.jpg rename to assets/images/450px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/450px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/450px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/450px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/450px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/450px-Omada_Insights_Lab.jpg b/assets/images/450px-Omada_Insights_Lab.jpg similarity index 100% rename from wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/450px-Omada_Insights_Lab.jpg rename to assets/images/450px-Omada_Insights_Lab.jpg diff --git a/wiki/images/thumb/4/4a/Open_source_1.png/450px-Open_source_1.png b/assets/images/450px-Open_source_1.png similarity index 100% rename from wiki/images/thumb/4/4a/Open_source_1.png/450px-Open_source_1.png rename to assets/images/450px-Open_source_1.png diff --git a/wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/450px-Parnate_vs_Overall_Mood.png b/assets/images/450px-Parnate_vs_Overall_Mood.png similarity index 100% rename from wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/450px-Parnate_vs_Overall_Mood.png rename to assets/images/450px-Parnate_vs_Overall_Mood.png diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/450px-Personal_Analytics_Dashboard_App.png b/assets/images/450px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/450px-Personal_Analytics_Dashboard_App.png rename to assets/images/450px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/450px-Platform_Overview_Diagram.png b/assets/images/450px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/450px-Platform_Overview_Diagram.png rename to assets/images/450px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/d/dc/Predictor_Search.png/450px-Predictor_Search.png b/assets/images/450px-Predictor_Search.png similarity index 100% rename from wiki/images/thumb/d/dc/Predictor_Search.png/450px-Predictor_Search.png rename to assets/images/450px-Predictor_Search.png diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/450px-Reminder_Inbox_Screenshot.jpg b/assets/images/450px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/450px-Reminder_Inbox_Screenshot.jpg rename to assets/images/450px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/450px-Review_History_and_Add_Notes.jpg b/assets/images/450px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/450px-Review_History_and_Add_Notes.jpg rename to assets/images/450px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/450px-Screen_Shot_2019-09-03_at_4.54.03_PM.png b/assets/images/450px-Screen_Shot_2019-09-03_at_4.54.03_PM.png similarity index 100% rename from wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/450px-Screen_Shot_2019-09-03_at_4.54.03_PM.png rename to assets/images/450px-Screen_Shot_2019-09-03_at_4.54.03_PM.png diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/450px-Stoplight_Studio.png b/assets/images/450px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/450px-Stoplight_Studio.png rename to assets/images/450px-Stoplight_Studio.png diff --git a/wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/450px-Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/450px-Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/450px-Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/450px-Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/450px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/450px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/450px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/450px-Temporal_Correlates_of_Disease_Incidence.png diff --git "a/wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/450px-Tourniquets_A_User\342\200\231s_Guide.png" "b/assets/images/450px-Tourniquets_A_User\342\200\231s_Guide.png" similarity index 100% rename from "wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/450px-Tourniquets_A_User\342\200\231s_Guide.png" rename to "assets/images/450px-Tourniquets_A_User\342\200\231s_Guide.png" diff --git "a/wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/450px-Tourniquets_A_User\342\200\231s_Guide_2.png" "b/assets/images/450px-Tourniquets_A_User\342\200\231s_Guide_2.png" similarity index 100% rename from "wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/450px-Tourniquets_A_User\342\200\231s_Guide_2.png" rename to "assets/images/450px-Tourniquets_A_User\342\200\231s_Guide_2.png" diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/450px-Track_Factors_App.png b/assets/images/450px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/450px-Track_Factors_App.png rename to assets/images/450px-Track_Factors_App.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/450px-Track_Symptoms_App.png b/assets/images/450px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/450px-Track_Symptoms_App.png rename to assets/images/450px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/450px-Treatment_Effectiveness_Graph.png b/assets/images/450px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/450px-Treatment_Effectiveness_Graph.png rename to assets/images/450px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/450px-Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/450px-Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/450px-Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/450px-Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/450px-US_Life_Expectancy_Map.png b/assets/images/450px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/450px-US_Life_Expectancy_Map.png rename to assets/images/450px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/450px-Visualize_Your_Data.jpg b/assets/images/450px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/450px-Visualize_Your_Data.jpg rename to assets/images/450px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/456px-All_of_Us_Research_Program_Overview_Infographic.png b/assets/images/456px-All_of_Us_Research_Program_Overview_Infographic.png similarity index 100% rename from wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/456px-All_of_Us_Research_Program_Overview_Infographic.png rename to assets/images/456px-All_of_Us_Research_Program_Overview_Infographic.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/456px-Treatment_Effectiveness_Graph.png b/assets/images/456px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/456px-Treatment_Effectiveness_Graph.png rename to assets/images/456px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/45px-All_of_Us_Research_Program_Overview_Infographic.png b/assets/images/45px-All_of_Us_Research_Program_Overview_Infographic.png similarity index 100% rename from wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/45px-All_of_Us_Research_Program_Overview_Infographic.png rename to assets/images/45px-All_of_Us_Research_Program_Overview_Infographic.png diff --git a/wiki/images/thumb/7/77/Benefits-of-open-source-2.png/468px-Benefits-of-open-source-2.png b/assets/images/468px-Benefits-of-open-source-2.png similarity index 100% rename from wiki/images/thumb/7/77/Benefits-of-open-source-2.png/468px-Benefits-of-open-source-2.png rename to assets/images/468px-Benefits-of-open-source-2.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/478px-Microbiome_Brain_Diagram.jpg b/assets/images/478px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/478px-Microbiome_Brain_Diagram.jpg rename to assets/images/478px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/505px-Review_History_and_Add_Notes.jpg b/assets/images/505px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/505px-Review_History_and_Add_Notes.jpg rename to assets/images/505px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/505px-Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/505px-Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/505px-Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/505px-Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/506px-Create_Reminders_App.jpg b/assets/images/506px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/506px-Create_Reminders_App.jpg rename to assets/images/506px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/506px-Visualize_Your_Data.jpg b/assets/images/506px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/506px-Visualize_Your_Data.jpg rename to assets/images/506px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/507px-Platform_Overview_Diagram.png b/assets/images/507px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/507px-Platform_Overview_Diagram.png rename to assets/images/507px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/517px-Discover_Hidden_Factors.jpg b/assets/images/517px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/517px-Discover_Hidden_Factors.jpg rename to assets/images/517px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/517px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/517px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/517px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/517px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/51px-Nutrition_Facts_Example.jpg b/assets/images/51px-Nutrition_Facts_Example.jpg similarity index 100% rename from wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/51px-Nutrition_Facts_Example.jpg rename to assets/images/51px-Nutrition_Facts_Example.jpg diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/522px-US_Life_Expectancy_Map.png b/assets/images/522px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/522px-US_Life_Expectancy_Map.png rename to assets/images/522px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/529px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/529px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/529px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/529px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/531px-Track_Factors_App.png b/assets/images/531px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/531px-Track_Factors_App.png rename to assets/images/531px-Track_Factors_App.png diff --git a/wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/536px-Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/536px-Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/536px-Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/536px-Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/537px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/537px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/537px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/537px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/4/4a/Open_source_1.png/538px-Open_source_1.png b/assets/images/538px-Open_source_1.png similarity index 100% rename from wiki/images/thumb/4/4a/Open_source_1.png/538px-Open_source_1.png rename to assets/images/538px-Open_source_1.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/539px-FDA-Social-Graphic.png b/assets/images/539px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/539px-FDA-Social-Graphic.png rename to assets/images/539px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/541px-Incidence_of_Non-Hodgkin_Lymphoma.png b/assets/images/541px-Incidence_of_Non-Hodgkin_Lymphoma.png similarity index 100% rename from wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/541px-Incidence_of_Non-Hodgkin_Lymphoma.png rename to assets/images/541px-Incidence_of_Non-Hodgkin_Lymphoma.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/541px-Track_Symptoms_App.png b/assets/images/541px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/541px-Track_Symptoms_App.png rename to assets/images/541px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/569px-Microbiome_Brain_Diagram.jpg b/assets/images/569px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/569px-Microbiome_Brain_Diagram.jpg rename to assets/images/569px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/573px-Platform_Overview_Diagram.png b/assets/images/573px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/573px-Platform_Overview_Diagram.png rename to assets/images/573px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/575px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/575px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/575px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/575px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/577px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/577px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/577px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/577px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/591px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/591px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/591px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/591px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/593px-Import_Data_App.png b/assets/images/593px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/593px-Import_Data_App.png rename to assets/images/593px-Import_Data_App.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/594px-FDA-Social-Graphic.png b/assets/images/594px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/594px-FDA-Social-Graphic.png rename to assets/images/594px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/596px-Personal_Analytics_Dashboard_App.png b/assets/images/596px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/596px-Personal_Analytics_Dashboard_App.png rename to assets/images/596px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/597px-Treatment_Effectiveness_Graph.png b/assets/images/597px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/597px-Treatment_Effectiveness_Graph.png rename to assets/images/597px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/600px-All_of_Us_Research_Program_Overview_Infographic.png b/assets/images/600px-All_of_Us_Research_Program_Overview_Infographic.png similarity index 100% rename from wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/600px-All_of_Us_Research_Program_Overview_Infographic.png rename to assets/images/600px-All_of_Us_Research_Program_Overview_Infographic.png diff --git a/wiki/images/thumb/7/77/Benefits-of-open-source-2.png/600px-Benefits-of-open-source-2.png b/assets/images/600px-Benefits-of-open-source-2.png similarity index 100% rename from wiki/images/thumb/7/77/Benefits-of-open-source-2.png/600px-Benefits-of-open-source-2.png rename to assets/images/600px-Benefits-of-open-source-2.png diff --git a/wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/600px-Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/600px-Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/600px-Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/600px-Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/600px-Create_Reminders_App.jpg b/assets/images/600px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/600px-Create_Reminders_App.jpg rename to assets/images/600px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/600px-Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/600px-Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/600px-Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/600px-Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/600px-Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/600px-Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/600px-Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/600px-Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/thumb/7/78/Data_Research_Center.png/600px-Data_Research_Center.png b/assets/images/600px-Data_Research_Center.png similarity index 100% rename from wiki/images/thumb/7/78/Data_Research_Center.png/600px-Data_Research_Center.png rename to assets/images/600px-Data_Research_Center.png diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/600px-Discover_Hidden_Factors.jpg b/assets/images/600px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/600px-Discover_Hidden_Factors.jpg rename to assets/images/600px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/600px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png b/assets/images/600px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png similarity index 100% rename from wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/600px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png rename to assets/images/600px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/600px-FDA-Social-Graphic.png b/assets/images/600px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/600px-FDA-Social-Graphic.png rename to assets/images/600px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/600px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/600px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/600px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/600px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/600px-Import_Data_App.png b/assets/images/600px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/600px-Import_Data_App.png rename to assets/images/600px-Import_Data_App.png diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/600px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/600px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/600px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/600px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/600px-Incidence_of_Non-Hodgkin_Lymphoma.png b/assets/images/600px-Incidence_of_Non-Hodgkin_Lymphoma.png similarity index 100% rename from wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/600px-Incidence_of_Non-Hodgkin_Lymphoma.png rename to assets/images/600px-Incidence_of_Non-Hodgkin_Lymphoma.png diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/600px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/600px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/600px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/600px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/600px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/600px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/600px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/600px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/600px-Leaky_Gut_Leaky_Brain.png b/assets/images/600px-Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/600px-Leaky_Gut_Leaky_Brain.png rename to assets/images/600px-Leaky_Gut_Leaky_Brain.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/600px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/600px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/600px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/600px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/d/d9/Machine_Learning.png/600px-Machine_Learning.png b/assets/images/600px-Machine_Learning.png similarity index 100% rename from wiki/images/thumb/d/d9/Machine_Learning.png/600px-Machine_Learning.png rename to assets/images/600px-Machine_Learning.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/600px-Microbiome_Brain_Diagram.jpg b/assets/images/600px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/600px-Microbiome_Brain_Diagram.jpg rename to assets/images/600px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/600px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/600px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/600px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/600px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/4/4a/Open_source_1.png/600px-Open_source_1.png b/assets/images/600px-Open_source_1.png similarity index 100% rename from wiki/images/thumb/4/4a/Open_source_1.png/600px-Open_source_1.png rename to assets/images/600px-Open_source_1.png diff --git a/wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/600px-Parnate_vs_Overall_Mood.png b/assets/images/600px-Parnate_vs_Overall_Mood.png similarity index 100% rename from wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/600px-Parnate_vs_Overall_Mood.png rename to assets/images/600px-Parnate_vs_Overall_Mood.png diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/600px-Personal_Analytics_Dashboard_App.png b/assets/images/600px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/600px-Personal_Analytics_Dashboard_App.png rename to assets/images/600px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/600px-Platform_Overview_Diagram.png b/assets/images/600px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/600px-Platform_Overview_Diagram.png rename to assets/images/600px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/600px-Reminder_Inbox_Screenshot.jpg b/assets/images/600px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/600px-Reminder_Inbox_Screenshot.jpg rename to assets/images/600px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/600px-Review_History_and_Add_Notes.jpg b/assets/images/600px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/600px-Review_History_and_Add_Notes.jpg rename to assets/images/600px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/600px-Screen_Shot_2019-09-03_at_4.54.03_PM.png b/assets/images/600px-Screen_Shot_2019-09-03_at_4.54.03_PM.png similarity index 100% rename from wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/600px-Screen_Shot_2019-09-03_at_4.54.03_PM.png rename to assets/images/600px-Screen_Shot_2019-09-03_at_4.54.03_PM.png diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/600px-Stoplight_Studio.png b/assets/images/600px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/600px-Stoplight_Studio.png rename to assets/images/600px-Stoplight_Studio.png diff --git a/wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/600px-Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/600px-Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/600px-Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/600px-Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/600px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/600px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/600px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/600px-Temporal_Correlates_of_Disease_Incidence.png diff --git "a/wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/600px-Tourniquets_A_User\342\200\231s_Guide.png" "b/assets/images/600px-Tourniquets_A_User\342\200\231s_Guide.png" similarity index 100% rename from "wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/600px-Tourniquets_A_User\342\200\231s_Guide.png" rename to "assets/images/600px-Tourniquets_A_User\342\200\231s_Guide.png" diff --git "a/wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/600px-Tourniquets_A_User\342\200\231s_Guide_2.png" "b/assets/images/600px-Tourniquets_A_User\342\200\231s_Guide_2.png" similarity index 100% rename from "wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/600px-Tourniquets_A_User\342\200\231s_Guide_2.png" rename to "assets/images/600px-Tourniquets_A_User\342\200\231s_Guide_2.png" diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/600px-Track_Factors_App.png b/assets/images/600px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/600px-Track_Factors_App.png rename to assets/images/600px-Track_Factors_App.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/600px-Track_Symptoms_App.png b/assets/images/600px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/600px-Track_Symptoms_App.png rename to assets/images/600px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/600px-Treatment_Effectiveness_Graph.png b/assets/images/600px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/600px-Treatment_Effectiveness_Graph.png rename to assets/images/600px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/600px-Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/600px-Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/600px-Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/600px-Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/600px-US_Life_Expectancy_Map.png b/assets/images/600px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/600px-US_Life_Expectancy_Map.png rename to assets/images/600px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/600px-Visualize_Your_Data.jpg b/assets/images/600px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/600px-Visualize_Your_Data.jpg rename to assets/images/600px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/608px-Anxiety_Predictors_Network_Graph.png b/assets/images/608px-Anxiety_Predictors_Network_Graph.png similarity index 100% rename from wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/608px-Anxiety_Predictors_Network_Graph.png rename to assets/images/608px-Anxiety_Predictors_Network_Graph.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/623px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/623px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/623px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/623px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/628px-Stoplight_Studio.png b/assets/images/628px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/628px-Stoplight_Studio.png rename to assets/images/628px-Stoplight_Studio.png diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/630px-Reminder_Inbox_Screenshot.jpg b/assets/images/630px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/630px-Reminder_Inbox_Screenshot.jpg rename to assets/images/630px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/631px-Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/631px-Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/631px-Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/631px-Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/635px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/635px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/635px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/635px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/651px-Microbiome_Brain_Diagram.jpg b/assets/images/651px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/651px-Microbiome_Brain_Diagram.jpg rename to assets/images/651px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/656px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/656px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/656px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/656px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/659px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/659px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/659px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/659px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/663px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/663px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/663px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/663px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/667px-Leaky_Gut_Leaky_Brain.png b/assets/images/667px-Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/667px-Leaky_Gut_Leaky_Brain.png rename to assets/images/667px-Leaky_Gut_Leaky_Brain.png diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/669px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/669px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/669px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/669px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/66px-Number_of_Molecules_with_Drug-Like_Properties.png b/assets/images/66px-Number_of_Molecules_with_Drug-Like_Properties.png similarity index 100% rename from wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/66px-Number_of_Molecules_with_Drug-Like_Properties.png rename to assets/images/66px-Number_of_Molecules_with_Drug-Like_Properties.png diff --git a/wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/671px-Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/671px-Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/thumb/5/59/Crowdsourcing_Cures_Platform_Architecture.png/671px-Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/671px-Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/672px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/672px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/672px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/672px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git "a/wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/674px-Tourniquets_A_User\342\200\231s_Guide.png" "b/assets/images/674px-Tourniquets_A_User\342\200\231s_Guide.png" similarity index 100% rename from "wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/674px-Tourniquets_A_User\342\200\231s_Guide.png" rename to "assets/images/674px-Tourniquets_A_User\342\200\231s_Guide.png" diff --git "a/wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/680px-Tourniquets_A_User\342\200\231s_Guide_2.png" "b/assets/images/680px-Tourniquets_A_User\342\200\231s_Guide_2.png" similarity index 100% rename from "wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/680px-Tourniquets_A_User\342\200\231s_Guide_2.png" rename to "assets/images/680px-Tourniquets_A_User\342\200\231s_Guide_2.png" diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/683px-US_Life_Expectancy_Map.png b/assets/images/683px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/683px-US_Life_Expectancy_Map.png rename to assets/images/683px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/684px-Treatment_Effectiveness_Graph.png b/assets/images/684px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/684px-Treatment_Effectiveness_Graph.png rename to assets/images/684px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/d/d9/Machine_Learning.png/688px-Machine_Learning.png b/assets/images/688px-Machine_Learning.png similarity index 100% rename from wiki/images/thumb/d/d9/Machine_Learning.png/688px-Machine_Learning.png rename to assets/images/688px-Machine_Learning.png diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/699px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/699px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/699px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/699px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/712px-Microbiome_Brain_Diagram.jpg b/assets/images/712px-Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/712px-Microbiome_Brain_Diagram.jpg rename to assets/images/712px-Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/719px-Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/719px-Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/719px-Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/719px-Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/720px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/720px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/720px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/720px-Temporal_Correlates_of_Disease_Incidence.png diff --git a/wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/73px-Number_of_Molecules_with_Drug-Like_Properties.png b/assets/images/73px-Number_of_Molecules_with_Drug-Like_Properties.png similarity index 100% rename from wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/73px-Number_of_Molecules_with_Drug-Like_Properties.png rename to assets/images/73px-Number_of_Molecules_with_Drug-Like_Properties.png diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/758px-Review_History_and_Add_Notes.jpg b/assets/images/758px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/758px-Review_History_and_Add_Notes.jpg rename to assets/images/758px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/759px-Create_Reminders_App.jpg b/assets/images/759px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/759px-Create_Reminders_App.jpg rename to assets/images/759px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/759px-Visualize_Your_Data.jpg b/assets/images/759px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/759px-Visualize_Your_Data.jpg rename to assets/images/759px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/768px-Create_Reminders_App.jpg b/assets/images/768px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/768px-Create_Reminders_App.jpg rename to assets/images/768px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/768px-Discover_Hidden_Factors.jpg b/assets/images/768px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/768px-Discover_Hidden_Factors.jpg rename to assets/images/768px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/768px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/768px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/768px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/768px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/768px-Reminder_Inbox_Screenshot.jpg b/assets/images/768px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/768px-Reminder_Inbox_Screenshot.jpg rename to assets/images/768px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/768px-Review_History_and_Add_Notes.jpg b/assets/images/768px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/768px-Review_History_and_Add_Notes.jpg rename to assets/images/768px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/768px-Visualize_Your_Data.jpg b/assets/images/768px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/768px-Visualize_Your_Data.jpg rename to assets/images/768px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/76px-Nutrition_Facts_Example.jpg b/assets/images/76px-Nutrition_Facts_Example.jpg similarity index 100% rename from wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/76px-Nutrition_Facts_Example.jpg rename to assets/images/76px-Nutrition_Facts_Example.jpg diff --git a/wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/76px-Platform_Overview_Diagram.png b/assets/images/76px-Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/76px-Platform_Overview_Diagram.png rename to assets/images/76px-Platform_Overview_Diagram.png diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/776px-Discover_Hidden_Factors.jpg b/assets/images/776px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/776px-Discover_Hidden_Factors.jpg rename to assets/images/776px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/776px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/776px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/776px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/776px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/783px-US_Life_Expectancy_Map.png b/assets/images/783px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/783px-US_Life_Expectancy_Map.png rename to assets/images/783px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/784px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/784px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/784px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/784px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/b/bf/Stoplight_Studio.png/785px-Stoplight_Studio.png b/assets/images/785px-Stoplight_Studio.png similarity index 100% rename from wiki/images/thumb/b/bf/Stoplight_Studio.png/785px-Stoplight_Studio.png rename to assets/images/785px-Stoplight_Studio.png diff --git a/wiki/images/thumb/5/5a/Casual_Flow_Chart.png/78px-Casual_Flow_Chart.png b/assets/images/78px-Casual_Flow_Chart.png similarity index 100% rename from wiki/images/thumb/5/5a/Casual_Flow_Chart.png/78px-Casual_Flow_Chart.png rename to assets/images/78px-Casual_Flow_Chart.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/792px-FDA-Social-Graphic.png b/assets/images/792px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/792px-FDA-Social-Graphic.png rename to assets/images/792px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/794px-Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/794px-Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/794px-Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/794px-Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/797px-Track_Factors_App.png b/assets/images/797px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/797px-Track_Factors_App.png rename to assets/images/797px-Track_Factors_App.png diff --git a/wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/800px-Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/800px-Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/800px-Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/800px-Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/thumb/4/4e/Create_Reminders_App.jpg/800px-Create_Reminders_App.jpg b/assets/images/800px-Create_Reminders_App.jpg similarity index 100% rename from wiki/images/thumb/4/4e/Create_Reminders_App.jpg/800px-Create_Reminders_App.jpg rename to assets/images/800px-Create_Reminders_App.jpg diff --git a/wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/800px-Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/800px-Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/800px-Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/800px-Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/800px-Discover_Hidden_Factors.jpg b/assets/images/800px-Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/800px-Discover_Hidden_Factors.jpg rename to assets/images/800px-Discover_Hidden_Factors.jpg diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/800px-FDA-Social-Graphic.png b/assets/images/800px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/800px-FDA-Social-Graphic.png rename to assets/images/800px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/800px-Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/800px-Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/800px-Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/800px-Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/800px-Import_Data_App.png b/assets/images/800px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/800px-Import_Data_App.png rename to assets/images/800px-Import_Data_App.png diff --git a/wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/800px-Import_Data_From_Apps_and_Devices.jpg b/assets/images/800px-Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/800px-Import_Data_From_Apps_and_Devices.jpg rename to assets/images/800px-Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/800px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/800px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/800px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/800px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/800px-Leaky_Gut_Leaky_Brain.png b/assets/images/800px-Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/800px-Leaky_Gut_Leaky_Brain.png rename to assets/images/800px-Leaky_Gut_Leaky_Brain.png diff --git a/wiki/images/thumb/d/d9/Machine_Learning.png/800px-Machine_Learning.png b/assets/images/800px-Machine_Learning.png similarity index 100% rename from wiki/images/thumb/d/d9/Machine_Learning.png/800px-Machine_Learning.png rename to assets/images/800px-Machine_Learning.png diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/800px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/800px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/800px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/800px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/800px-Personal_Analytics_Dashboard_App.png b/assets/images/800px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/800px-Personal_Analytics_Dashboard_App.png rename to assets/images/800px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/800px-Reminder_Inbox_Screenshot.jpg b/assets/images/800px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/800px-Reminder_Inbox_Screenshot.jpg rename to assets/images/800px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/800px-Review_History_and_Add_Notes.jpg b/assets/images/800px-Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/800px-Review_History_and_Add_Notes.jpg rename to assets/images/800px-Review_History_and_Add_Notes.jpg diff --git a/wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/800px-Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/800px-Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/800px-Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/800px-Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/800px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/800px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/800px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/800px-Temporal_Correlates_of_Disease_Incidence.png diff --git "a/wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/800px-Tourniquets_A_User\342\200\231s_Guide.png" "b/assets/images/800px-Tourniquets_A_User\342\200\231s_Guide.png" similarity index 100% rename from "wiki/images/thumb/b/bc/Tourniquets_A_User\342\200\231s_Guide.png/800px-Tourniquets_A_User\342\200\231s_Guide.png" rename to "assets/images/800px-Tourniquets_A_User\342\200\231s_Guide.png" diff --git "a/wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/800px-Tourniquets_A_User\342\200\231s_Guide_2.png" "b/assets/images/800px-Tourniquets_A_User\342\200\231s_Guide_2.png" similarity index 100% rename from "wiki/images/thumb/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png/800px-Tourniquets_A_User\342\200\231s_Guide_2.png" rename to "assets/images/800px-Tourniquets_A_User\342\200\231s_Guide_2.png" diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/800px-Track_Factors_App.png b/assets/images/800px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/800px-Track_Factors_App.png rename to assets/images/800px-Track_Factors_App.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/800px-Track_Symptoms_App.png b/assets/images/800px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/800px-Track_Symptoms_App.png rename to assets/images/800px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/800px-US_Life_Expectancy_Map.png b/assets/images/800px-US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/800px-US_Life_Expectancy_Map.png rename to assets/images/800px-US_Life_Expectancy_Map.png diff --git a/wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/800px-Visualize_Your_Data.jpg b/assets/images/800px-Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/800px-Visualize_Your_Data.jpg rename to assets/images/800px-Visualize_Your_Data.jpg diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/809px-FDA-Social-Graphic.png b/assets/images/809px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/809px-FDA-Social-Graphic.png rename to assets/images/809px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/812px-Track_Symptoms_App.png b/assets/images/812px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/812px-Track_Symptoms_App.png rename to assets/images/812px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/824px-Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/824px-Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/824px-Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/824px-Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/824px-Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/824px-Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/824px-Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/824px-Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/824px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/824px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/824px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/824px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/d/d9/Machine_Learning.png/824px-Machine_Learning.png b/assets/images/824px-Machine_Learning.png similarity index 100% rename from wiki/images/thumb/d/d9/Machine_Learning.png/824px-Machine_Learning.png rename to assets/images/824px-Machine_Learning.png diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/824px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/824px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/824px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/824px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/824px-Personal_Analytics_Dashboard_App.png b/assets/images/824px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/824px-Personal_Analytics_Dashboard_App.png rename to assets/images/824px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/824px-Temporal_Correlates_of_Disease_Incidence.png b/assets/images/824px-Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/thumb/2/20/Temporal_Correlates_of_Disease_Incidence.png/824px-Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/824px-Temporal_Correlates_of_Disease_Incidence.png diff --git a/wiki/images/thumb/3/30/Track_Factors_App.png/824px-Track_Factors_App.png b/assets/images/824px-Track_Factors_App.png similarity index 100% rename from wiki/images/thumb/3/30/Track_Factors_App.png/824px-Track_Factors_App.png rename to assets/images/824px-Track_Factors_App.png diff --git a/wiki/images/thumb/2/2c/FDA-Social-Graphic.png/825px-FDA-Social-Graphic.png b/assets/images/825px-FDA-Social-Graphic.png similarity index 100% rename from wiki/images/thumb/2/2c/FDA-Social-Graphic.png/825px-FDA-Social-Graphic.png rename to assets/images/825px-FDA-Social-Graphic.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/825px-Import_Data_App.png b/assets/images/825px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/825px-Import_Data_App.png rename to assets/images/825px-Import_Data_App.png diff --git a/wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/825px-Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/825px-Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/825px-Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/825px-Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/thumb/3/3e/Track_Symptoms_App.png/825px-Track_Symptoms_App.png b/assets/images/825px-Track_Symptoms_App.png similarity index 100% rename from wiki/images/thumb/3/3e/Track_Symptoms_App.png/825px-Track_Symptoms_App.png rename to assets/images/825px-Track_Symptoms_App.png diff --git a/wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/85px-Nutrition_Facts_Example.jpg b/assets/images/85px-Nutrition_Facts_Example.jpg similarity index 100% rename from wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/85px-Nutrition_Facts_Example.jpg rename to assets/images/85px-Nutrition_Facts_Example.jpg diff --git a/wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/869px-Personal_Analytics_Dashboard_App.png b/assets/images/869px-Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/869px-Personal_Analytics_Dashboard_App.png rename to assets/images/869px-Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/888px-Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/888px-Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/888px-Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/888px-Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/88px-Number_of_Molecules_with_Drug-Like_Properties.png b/assets/images/88px-Number_of_Molecules_with_Drug-Like_Properties.png similarity index 100% rename from wiki/images/thumb/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png/88px-Number_of_Molecules_with_Drug-Like_Properties.png rename to assets/images/88px-Number_of_Molecules_with_Drug-Like_Properties.png diff --git a/wiki/images/thumb/a/a1/Import_Data_App.png/890px-Import_Data_App.png b/assets/images/890px-Import_Data_App.png similarity index 100% rename from wiki/images/thumb/a/a1/Import_Data_App.png/890px-Import_Data_App.png rename to assets/images/890px-Import_Data_App.png diff --git a/wiki/images/thumb/d/dc/Predictor_Search.png/89px-Predictor_Search.png b/assets/images/89px-Predictor_Search.png similarity index 100% rename from wiki/images/thumb/d/dc/Predictor_Search.png/89px-Predictor_Search.png rename to assets/images/89px-Predictor_Search.png diff --git a/wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/91px-All_of_Us_Research_Program_Overview_Infographic.png b/assets/images/91px-All_of_Us_Research_Program_Overview_Infographic.png similarity index 100% rename from wiki/images/thumb/6/65/All_of_Us_Research_Program_Overview_Infographic.png/91px-All_of_Us_Research_Program_Overview_Infographic.png rename to assets/images/91px-All_of_Us_Research_Program_Overview_Infographic.png diff --git a/wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/91px-Treatment_Effectiveness_Graph.png b/assets/images/91px-Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/91px-Treatment_Effectiveness_Graph.png rename to assets/images/91px-Treatment_Effectiveness_Graph.png diff --git a/wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/935px-MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/935px-MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/935px-MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/935px-MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/945px-Reminder_Inbox_Screenshot.jpg b/assets/images/945px-Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/945px-Reminder_Inbox_Screenshot.jpg rename to assets/images/945px-Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/thumb/7/77/Benefits-of-open-source-2.png/94px-Benefits-of-open-source-2.png b/assets/images/94px-Benefits-of-open-source-2.png similarity index 100% rename from wiki/images/thumb/7/77/Benefits-of-open-source-2.png/94px-Benefits-of-open-source-2.png rename to assets/images/94px-Benefits-of-open-source-2.png diff --git a/wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/953px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/953px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/953px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/953px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/977px-Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/977px-Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/thumb/6/65/Temporal_Correlates_of_Disease_Incidence-2.png/977px-Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/977px-Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/988px-Nutrition_Facts_vs_Outcome_Label.png b/assets/images/988px-Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/988px-Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/988px-Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/6/65/All_of_Us_Research_Program_Overview_Infographic.png b/assets/images/All_of_Us_Research_Program_Overview_Infographic.png similarity index 100% rename from wiki/images/6/65/All_of_Us_Research_Program_Overview_Infographic.png rename to assets/images/All_of_Us_Research_Program_Overview_Infographic.png diff --git a/wiki/images/8/8c/Anxiety_Predictors_Network_Graph.png b/assets/images/Anxiety_Predictors_Network_Graph.png similarity index 100% rename from wiki/images/8/8c/Anxiety_Predictors_Network_Graph.png rename to assets/images/Anxiety_Predictors_Network_Graph.png diff --git a/wiki/images/7/77/Benefits-of-open-source-2.png b/assets/images/Benefits-of-open-source-2.png similarity index 100% rename from wiki/images/7/77/Benefits-of-open-source-2.png rename to assets/images/Benefits-of-open-source-2.png diff --git a/wiki/images/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png b/assets/images/Best_antidepressants_based_on_weighted_patient_reviews.png similarity index 100% rename from wiki/images/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png rename to assets/images/Best_antidepressants_based_on_weighted_patient_reviews.png diff --git a/wiki/images/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png b/assets/images/Brain_Gut_Axis_Microbiome_Diagram.png similarity index 100% rename from wiki/images/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png rename to assets/images/Brain_Gut_Axis_Microbiome_Diagram.png diff --git a/wiki/images/5/5a/Casual_Flow_Chart.png b/assets/images/Casual_Flow_Chart.png similarity index 100% rename from wiki/images/5/5a/Casual_Flow_Chart.png rename to assets/images/Casual_Flow_Chart.png diff --git a/wiki/images/awards/CommentsAward_100.gif b/assets/images/CommentsAward_100.gif similarity index 100% rename from wiki/images/awards/CommentsAward_100.gif rename to assets/images/CommentsAward_100.gif diff --git a/wiki/images/awards/CommentsAward_1000.gif b/assets/images/CommentsAward_1000.gif similarity index 100% rename from wiki/images/awards/CommentsAward_1000.gif rename to assets/images/CommentsAward_1000.gif diff --git a/wiki/images/awards/CommentsAward_2000.gif b/assets/images/CommentsAward_2000.gif similarity index 100% rename from wiki/images/awards/CommentsAward_2000.gif rename to assets/images/CommentsAward_2000.gif diff --git a/wiki/images/awards/CommentsAward_25.gif b/assets/images/CommentsAward_25.gif similarity index 100% rename from wiki/images/awards/CommentsAward_25.gif rename to assets/images/CommentsAward_25.gif diff --git a/wiki/images/awards/CommentsAward_250.gif b/assets/images/CommentsAward_250.gif similarity index 100% rename from wiki/images/awards/CommentsAward_250.gif rename to assets/images/CommentsAward_250.gif diff --git a/wiki/images/awards/CommentsAward_3000.gif b/assets/images/CommentsAward_3000.gif similarity index 100% rename from wiki/images/awards/CommentsAward_3000.gif rename to assets/images/CommentsAward_3000.gif diff --git a/wiki/images/awards/CommentsAward_4000.gif b/assets/images/CommentsAward_4000.gif similarity index 100% rename from wiki/images/awards/CommentsAward_4000.gif rename to assets/images/CommentsAward_4000.gif diff --git a/wiki/images/awards/CommentsAward_5.gif b/assets/images/CommentsAward_5.gif similarity index 100% rename from wiki/images/awards/CommentsAward_5.gif rename to assets/images/CommentsAward_5.gif diff --git a/wiki/images/awards/CommentsAward_50.gif b/assets/images/CommentsAward_50.gif similarity index 100% rename from wiki/images/awards/CommentsAward_50.gif rename to assets/images/CommentsAward_50.gif diff --git a/wiki/images/awards/CommentsAward_500.gif b/assets/images/CommentsAward_500.gif similarity index 100% rename from wiki/images/awards/CommentsAward_500.gif rename to assets/images/CommentsAward_500.gif diff --git a/wiki/images/awards/CommentsAward_5000.gif b/assets/images/CommentsAward_5000.gif similarity index 100% rename from wiki/images/awards/CommentsAward_5000.gif rename to assets/images/CommentsAward_5000.gif diff --git a/wiki/images/awards/CommentsAward_750.gif b/assets/images/CommentsAward_750.gif similarity index 100% rename from wiki/images/awards/CommentsAward_750.gif rename to assets/images/CommentsAward_750.gif diff --git a/wiki/images/awards/CommentsAward_8000.gif b/assets/images/CommentsAward_8000.gif similarity index 100% rename from wiki/images/awards/CommentsAward_8000.gif rename to assets/images/CommentsAward_8000.gif diff --git a/wiki/images/4/4e/Create_Reminders_App.jpg b/assets/images/Create_Reminders_App.jpg similarity index 100% rename from wiki/images/4/4e/Create_Reminders_App.jpg rename to assets/images/Create_Reminders_App.jpg diff --git a/wiki/images/5/59/Crowdsourcing_Cures_Platform_Architecture.png b/assets/images/Crowdsourcing_Cures_Platform_Architecture.png similarity index 100% rename from wiki/images/5/59/Crowdsourcing_Cures_Platform_Architecture.png rename to assets/images/Crowdsourcing_Cures_Platform_Architecture.png diff --git a/wiki/images/8/8f/Crowdsourcing_Cures_Strategy_Overview.png b/assets/images/Crowdsourcing_Cures_Strategy_Overview.png similarity index 100% rename from wiki/images/8/8f/Crowdsourcing_Cures_Strategy_Overview.png rename to assets/images/Crowdsourcing_Cures_Strategy_Overview.png diff --git a/wiki/images/7/78/Data_Research_Center.png b/assets/images/Data_Research_Center.png similarity index 100% rename from wiki/images/7/78/Data_Research_Center.png rename to assets/images/Data_Research_Center.png diff --git a/wiki/images/0/0e/Discover_Hidden_Factors.jpg b/assets/images/Discover_Hidden_Factors.jpg similarity index 100% rename from wiki/images/0/0e/Discover_Hidden_Factors.jpg rename to assets/images/Discover_Hidden_Factors.jpg diff --git a/wiki/images/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png b/assets/images/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png similarity index 100% rename from wiki/images/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png rename to assets/images/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png diff --git a/wiki/images/awards/EditsAward_100.gif b/assets/images/EditsAward_100.gif similarity index 100% rename from wiki/images/awards/EditsAward_100.gif rename to assets/images/EditsAward_100.gif diff --git a/wiki/images/awards/EditsAward_1000.gif b/assets/images/EditsAward_1000.gif similarity index 100% rename from wiki/images/awards/EditsAward_1000.gif rename to assets/images/EditsAward_1000.gif diff --git a/wiki/images/awards/EditsAward_2000.gif b/assets/images/EditsAward_2000.gif similarity index 100% rename from wiki/images/awards/EditsAward_2000.gif rename to assets/images/EditsAward_2000.gif diff --git a/wiki/images/awards/EditsAward_25.gif b/assets/images/EditsAward_25.gif similarity index 100% rename from wiki/images/awards/EditsAward_25.gif rename to assets/images/EditsAward_25.gif diff --git a/wiki/images/awards/EditsAward_250.gif b/assets/images/EditsAward_250.gif similarity index 100% rename from wiki/images/awards/EditsAward_250.gif rename to assets/images/EditsAward_250.gif diff --git a/wiki/images/awards/EditsAward_3000.gif b/assets/images/EditsAward_3000.gif similarity index 100% rename from wiki/images/awards/EditsAward_3000.gif rename to assets/images/EditsAward_3000.gif diff --git a/wiki/images/awards/EditsAward_4000.gif b/assets/images/EditsAward_4000.gif similarity index 100% rename from wiki/images/awards/EditsAward_4000.gif rename to assets/images/EditsAward_4000.gif diff --git a/wiki/images/awards/EditsAward_5.gif b/assets/images/EditsAward_5.gif similarity index 100% rename from wiki/images/awards/EditsAward_5.gif rename to assets/images/EditsAward_5.gif diff --git a/wiki/images/awards/EditsAward_50.gif b/assets/images/EditsAward_50.gif similarity index 100% rename from wiki/images/awards/EditsAward_50.gif rename to assets/images/EditsAward_50.gif diff --git a/wiki/images/awards/EditsAward_500.gif b/assets/images/EditsAward_500.gif similarity index 100% rename from wiki/images/awards/EditsAward_500.gif rename to assets/images/EditsAward_500.gif diff --git a/wiki/images/awards/EditsAward_5000.gif b/assets/images/EditsAward_5000.gif similarity index 100% rename from wiki/images/awards/EditsAward_5000.gif rename to assets/images/EditsAward_5000.gif diff --git a/wiki/images/awards/EditsAward_750.gif b/assets/images/EditsAward_750.gif similarity index 100% rename from wiki/images/awards/EditsAward_750.gif rename to assets/images/EditsAward_750.gif diff --git a/wiki/images/awards/EditsAward_8000.gif b/assets/images/EditsAward_8000.gif similarity index 100% rename from wiki/images/awards/EditsAward_8000.gif rename to assets/images/EditsAward_8000.gif diff --git a/wiki/images/2/2c/FDA-Social-Graphic.png b/assets/images/FDA-Social-Graphic.png similarity index 100% rename from wiki/images/2/2c/FDA-Social-Graphic.png rename to assets/images/FDA-Social-Graphic.png diff --git a/wiki/images/awards/FriendsAward_100.gif b/assets/images/FriendsAward_100.gif similarity index 100% rename from wiki/images/awards/FriendsAward_100.gif rename to assets/images/FriendsAward_100.gif diff --git a/wiki/images/awards/FriendsAward_1000.gif b/assets/images/FriendsAward_1000.gif similarity index 100% rename from wiki/images/awards/FriendsAward_1000.gif rename to assets/images/FriendsAward_1000.gif diff --git a/wiki/images/awards/FriendsAward_2000.gif b/assets/images/FriendsAward_2000.gif similarity index 100% rename from wiki/images/awards/FriendsAward_2000.gif rename to assets/images/FriendsAward_2000.gif diff --git a/wiki/images/awards/FriendsAward_25.gif b/assets/images/FriendsAward_25.gif similarity index 100% rename from wiki/images/awards/FriendsAward_25.gif rename to assets/images/FriendsAward_25.gif diff --git a/wiki/images/awards/FriendsAward_250.gif b/assets/images/FriendsAward_250.gif similarity index 100% rename from wiki/images/awards/FriendsAward_250.gif rename to assets/images/FriendsAward_250.gif diff --git a/wiki/images/awards/FriendsAward_3000.gif b/assets/images/FriendsAward_3000.gif similarity index 100% rename from wiki/images/awards/FriendsAward_3000.gif rename to assets/images/FriendsAward_3000.gif diff --git a/wiki/images/awards/FriendsAward_4000.gif b/assets/images/FriendsAward_4000.gif similarity index 100% rename from wiki/images/awards/FriendsAward_4000.gif rename to assets/images/FriendsAward_4000.gif diff --git a/wiki/images/awards/FriendsAward_5.gif b/assets/images/FriendsAward_5.gif similarity index 100% rename from wiki/images/awards/FriendsAward_5.gif rename to assets/images/FriendsAward_5.gif diff --git a/wiki/images/awards/FriendsAward_50.gif b/assets/images/FriendsAward_50.gif similarity index 100% rename from wiki/images/awards/FriendsAward_50.gif rename to assets/images/FriendsAward_50.gif diff --git a/wiki/images/awards/FriendsAward_500.gif b/assets/images/FriendsAward_500.gif similarity index 100% rename from wiki/images/awards/FriendsAward_500.gif rename to assets/images/FriendsAward_500.gif diff --git a/wiki/images/awards/FriendsAward_5000.gif b/assets/images/FriendsAward_5000.gif similarity index 100% rename from wiki/images/awards/FriendsAward_5000.gif rename to assets/images/FriendsAward_5000.gif diff --git a/wiki/images/awards/FriendsAward_750.gif b/assets/images/FriendsAward_750.gif similarity index 100% rename from wiki/images/awards/FriendsAward_750.gif rename to assets/images/FriendsAward_750.gif diff --git a/wiki/images/awards/FriendsAward_8000.gif b/assets/images/FriendsAward_8000.gif similarity index 100% rename from wiki/images/awards/FriendsAward_8000.gif rename to assets/images/FriendsAward_8000.gif diff --git a/wiki/images/9/91/Geological_Blue-Zone_Map.jpg b/assets/images/Geological_Blue-Zone_Map.jpg similarity index 100% rename from wiki/images/9/91/Geological_Blue-Zone_Map.jpg rename to assets/images/Geological_Blue-Zone_Map.jpg diff --git a/wiki/images/a/a3/Glyphosate_Use_Growth_Curve_Graph.png b/assets/images/Glyphosate_Use_Growth_Curve_Graph.png similarity index 100% rename from wiki/images/a/a3/Glyphosate_Use_Growth_Curve_Graph.png rename to assets/images/Glyphosate_Use_Growth_Curve_Graph.png diff --git a/wiki/images/a/a1/Import_Data_App.png b/assets/images/Import_Data_App.png similarity index 100% rename from wiki/images/a/a1/Import_Data_App.png rename to assets/images/Import_Data_App.png diff --git a/wiki/images/2/2d/Import_Data_From_Apps_and_Devices.jpg b/assets/images/Import_Data_From_Apps_and_Devices.jpg similarity index 100% rename from wiki/images/2/2d/Import_Data_From_Apps_and_Devices.jpg rename to assets/images/Import_Data_From_Apps_and_Devices.jpg diff --git a/wiki/images/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png b/assets/images/Incidence_of_Non-Hodgkin_Lymphoma.png similarity index 100% rename from wiki/images/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png rename to assets/images/Incidence_of_Non-Hodgkin_Lymphoma.png diff --git a/wiki/images/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png b/assets/images/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png similarity index 100% rename from wiki/images/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png rename to assets/images/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png diff --git a/wiki/images/4/42/Intuition-Based_Likely_Cause_Survey_Results.png b/assets/images/Intuition-Based_Likely_Cause_Survey_Results.png similarity index 100% rename from wiki/images/4/42/Intuition-Based_Likely_Cause_Survey_Results.png rename to assets/images/Intuition-Based_Likely_Cause_Survey_Results.png diff --git a/wiki/images/f/f0/Ketamine_Tolerance.png b/assets/images/Ketamine_Tolerance.png similarity index 100% rename from wiki/images/f/f0/Ketamine_Tolerance.png rename to assets/images/Ketamine_Tolerance.png diff --git a/wiki/images/Laobc-Chemistry-flask.svg b/assets/images/Laobc-Chemistry-flask.svg similarity index 100% rename from wiki/images/Laobc-Chemistry-flask.svg rename to assets/images/Laobc-Chemistry-flask.svg diff --git a/wiki/images/c/c2/Leaky_Gut_Leaky_Brain.png b/assets/images/Leaky_Gut_Leaky_Brain.png similarity index 100% rename from wiki/images/c/c2/Leaky_Gut_Leaky_Brain.png rename to assets/images/Leaky_Gut_Leaky_Brain.png diff --git a/wiki/images/Logo-Crowdsourcing-Cures-skinny-1024-649.png b/assets/images/Logo-Crowdsourcing-Cures-skinny-1024-649.png similarity index 100% rename from wiki/images/Logo-Crowdsourcing-Cures-skinny-1024-649.png rename to assets/images/Logo-Crowdsourcing-Cures-skinny-1024-649.png diff --git a/wiki/images/Logo-Crowdsourcing-Cures-square-1024.png b/assets/images/Logo-Crowdsourcing-Cures-square-1024.png similarity index 100% rename from wiki/images/Logo-Crowdsourcing-Cures-square-1024.png rename to assets/images/Logo-Crowdsourcing-Cures-square-1024.png diff --git a/wiki/images/Logo-Crowdsourcing-Cures-square-135.png b/assets/images/Logo-Crowdsourcing-Cures-square-135.png similarity index 100% rename from wiki/images/Logo-Crowdsourcing-Cures-square-135.png rename to assets/images/Logo-Crowdsourcing-Cures-square-135.png diff --git a/wiki/images/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg b/assets/images/MAOI_Effects_on_Cytokine_Levels.jpg similarity index 100% rename from wiki/images/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg rename to assets/images/MAOI_Effects_on_Cytokine_Levels.jpg diff --git a/wiki/images/d/d9/Machine_Learning.png b/assets/images/Machine_Learning.png similarity index 100% rename from wiki/images/d/d9/Machine_Learning.png rename to assets/images/Machine_Learning.png diff --git a/wiki/images/1/14/Microbiome_Brain_Diagram.jpg b/assets/images/Microbiome_Brain_Diagram.jpg similarity index 100% rename from wiki/images/1/14/Microbiome_Brain_Diagram.jpg rename to assets/images/Microbiome_Brain_Diagram.jpg diff --git a/wiki/images/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png b/assets/images/Number_of_Molecules_with_Drug-Like_Properties.png similarity index 100% rename from wiki/images/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png rename to assets/images/Number_of_Molecules_with_Drug-Like_Properties.png diff --git a/wiki/images/5/5f/Nutrition_Facts_Example.jpg b/assets/images/Nutrition_Facts_Example.jpg similarity index 100% rename from wiki/images/5/5f/Nutrition_Facts_Example.jpg rename to assets/images/Nutrition_Facts_Example.jpg diff --git a/wiki/images/b/b8/Nutrition_Facts_vs_Outcome_Label.png b/assets/images/Nutrition_Facts_vs_Outcome_Label.png similarity index 100% rename from wiki/images/b/b8/Nutrition_Facts_vs_Outcome_Label.png rename to assets/images/Nutrition_Facts_vs_Outcome_Label.png diff --git a/wiki/images/b/bc/Omada_Insights_Lab.jpg b/assets/images/Omada_Insights_Lab.jpg similarity index 100% rename from wiki/images/b/bc/Omada_Insights_Lab.jpg rename to assets/images/Omada_Insights_Lab.jpg diff --git a/wiki/images/4/4a/Open_source_1.png b/assets/images/Open_source_1.png similarity index 100% rename from wiki/images/4/4a/Open_source_1.png rename to assets/images/Open_source_1.png diff --git a/wiki/images/f/fb/Parnate_vs_Overall_Mood.png b/assets/images/Parnate_vs_Overall_Mood.png similarity index 100% rename from wiki/images/f/fb/Parnate_vs_Overall_Mood.png rename to assets/images/Parnate_vs_Overall_Mood.png diff --git a/wiki/images/5/5e/Personal_Analytics_Dashboard_App.png b/assets/images/Personal_Analytics_Dashboard_App.png similarity index 100% rename from wiki/images/5/5e/Personal_Analytics_Dashboard_App.png rename to assets/images/Personal_Analytics_Dashboard_App.png diff --git a/wiki/images/b/b3/Platform_Overview_Diagram.png b/assets/images/Platform_Overview_Diagram.png similarity index 100% rename from wiki/images/b/b3/Platform_Overview_Diagram.png rename to assets/images/Platform_Overview_Diagram.png diff --git a/wiki/images/d/dc/Predictor_Search.png b/assets/images/Predictor_Search.png similarity index 100% rename from wiki/images/d/dc/Predictor_Search.png rename to assets/images/Predictor_Search.png diff --git a/wiki/images/awards/RecruitAward5.gif b/assets/images/RecruitAward5.gif similarity index 100% rename from wiki/images/awards/RecruitAward5.gif rename to assets/images/RecruitAward5.gif diff --git a/wiki/images/awards/RecruitAward_1.gif b/assets/images/RecruitAward_1.gif similarity index 100% rename from wiki/images/awards/RecruitAward_1.gif rename to assets/images/RecruitAward_1.gif diff --git a/wiki/images/awards/RecruitAward_3.gif b/assets/images/RecruitAward_3.gif similarity index 100% rename from wiki/images/awards/RecruitAward_3.gif rename to assets/images/RecruitAward_3.gif diff --git a/wiki/images/b/bd/Reminder_Inbox_Screenshot.jpg b/assets/images/Reminder_Inbox_Screenshot.jpg similarity index 100% rename from wiki/images/b/bd/Reminder_Inbox_Screenshot.jpg rename to assets/images/Reminder_Inbox_Screenshot.jpg diff --git a/wiki/images/4/44/Review_History_and_Add_Notes.jpg b/assets/images/Review_History_and_Add_Notes.jpg similarity index 100% rename from wiki/images/4/44/Review_History_and_Add_Notes.jpg rename to assets/images/Review_History_and_Add_Notes.jpg diff --git a/wiki/images/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png b/assets/images/Screen_Shot_2019-09-03_at_4.54.03_PM.png similarity index 100% rename from wiki/images/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png rename to assets/images/Screen_Shot_2019-09-03_at_4.54.03_PM.png diff --git a/wiki/images/b/bf/Stoplight_Studio.png b/assets/images/Stoplight_Studio.png similarity index 100% rename from wiki/images/b/bf/Stoplight_Studio.png rename to assets/images/Stoplight_Studio.png diff --git a/wiki/images/6/65/Temporal_Correlates_of_Disease_Incidence-2.png b/assets/images/Temporal_Correlates_of_Disease_Incidence-2.png similarity index 100% rename from wiki/images/6/65/Temporal_Correlates_of_Disease_Incidence-2.png rename to assets/images/Temporal_Correlates_of_Disease_Incidence-2.png diff --git a/wiki/images/2/20/Temporal_Correlates_of_Disease_Incidence.png b/assets/images/Temporal_Correlates_of_Disease_Incidence.png similarity index 100% rename from wiki/images/2/20/Temporal_Correlates_of_Disease_Incidence.png rename to assets/images/Temporal_Correlates_of_Disease_Incidence.png diff --git "a/wiki/images/b/bc/Tourniquets_A_User\342\200\231s_Guide.png" "b/assets/images/Tourniquets_A_User\342\200\231s_Guide.png" similarity index 100% rename from "wiki/images/b/bc/Tourniquets_A_User\342\200\231s_Guide.png" rename to "assets/images/Tourniquets_A_User\342\200\231s_Guide.png" diff --git "a/wiki/images/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png" "b/assets/images/Tourniquets_A_User\342\200\231s_Guide_2.png" similarity index 100% rename from "wiki/images/0/02/Tourniquets_A_User\342\200\231s_Guide_2.png" rename to "assets/images/Tourniquets_A_User\342\200\231s_Guide_2.png" diff --git a/wiki/images/3/30/Track_Factors_App.png b/assets/images/Track_Factors_App.png similarity index 100% rename from wiki/images/3/30/Track_Factors_App.png rename to assets/images/Track_Factors_App.png diff --git a/wiki/images/3/3e/Track_Symptoms_App.png b/assets/images/Track_Symptoms_App.png similarity index 100% rename from wiki/images/3/3e/Track_Symptoms_App.png rename to assets/images/Track_Symptoms_App.png diff --git a/wiki/images/3/34/Treatment_Effectiveness_Graph.png b/assets/images/Treatment_Effectiveness_Graph.png similarity index 100% rename from wiki/images/3/34/Treatment_Effectiveness_Graph.png rename to assets/images/Treatment_Effectiveness_Graph.png diff --git a/wiki/images/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png b/assets/images/Treatment_algorithm_for_Major_Depressive_Disorder.png similarity index 100% rename from wiki/images/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png rename to assets/images/Treatment_algorithm_for_Major_Depressive_Disorder.png diff --git a/wiki/images/8/84/US_Life_Expectancy_Map.png b/assets/images/US_Life_Expectancy_Map.png similarity index 100% rename from wiki/images/8/84/US_Life_Expectancy_Map.png rename to assets/images/US_Life_Expectancy_Map.png diff --git a/wiki/images/c/c7/Visualize_Your_Data.jpg b/assets/images/Visualize_Your_Data.jpg similarity index 100% rename from wiki/images/c/c7/Visualize_Your_Data.jpg rename to assets/images/Visualize_Your_Data.jpg diff --git a/wiki/images/awards/VotesAward_100.gif b/assets/images/VotesAward_100.gif similarity index 100% rename from wiki/images/awards/VotesAward_100.gif rename to assets/images/VotesAward_100.gif diff --git a/wiki/images/awards/VotesAward_1000.gif b/assets/images/VotesAward_1000.gif similarity index 100% rename from wiki/images/awards/VotesAward_1000.gif rename to assets/images/VotesAward_1000.gif diff --git a/wiki/images/awards/VotesAward_10000.gif b/assets/images/VotesAward_10000.gif similarity index 100% rename from wiki/images/awards/VotesAward_10000.gif rename to assets/images/VotesAward_10000.gif diff --git a/wiki/images/awards/VotesAward_2000.gif b/assets/images/VotesAward_2000.gif similarity index 100% rename from wiki/images/awards/VotesAward_2000.gif rename to assets/images/VotesAward_2000.gif diff --git a/wiki/images/awards/VotesAward_20000.gif b/assets/images/VotesAward_20000.gif similarity index 100% rename from wiki/images/awards/VotesAward_20000.gif rename to assets/images/VotesAward_20000.gif diff --git a/wiki/images/awards/VotesAward_250.gif b/assets/images/VotesAward_250.gif similarity index 100% rename from wiki/images/awards/VotesAward_250.gif rename to assets/images/VotesAward_250.gif diff --git a/wiki/images/awards/VotesAward_3000.gif b/assets/images/VotesAward_3000.gif similarity index 100% rename from wiki/images/awards/VotesAward_3000.gif rename to assets/images/VotesAward_3000.gif diff --git a/wiki/images/awards/VotesAward_30000.gif b/assets/images/VotesAward_30000.gif similarity index 100% rename from wiki/images/awards/VotesAward_30000.gif rename to assets/images/VotesAward_30000.gif diff --git a/wiki/images/awards/VotesAward_40000.gif b/assets/images/VotesAward_40000.gif similarity index 100% rename from wiki/images/awards/VotesAward_40000.gif rename to assets/images/VotesAward_40000.gif diff --git a/wiki/images/awards/VotesAward_5.gif b/assets/images/VotesAward_5.gif similarity index 100% rename from wiki/images/awards/VotesAward_5.gif rename to assets/images/VotesAward_5.gif diff --git a/wiki/images/awards/VotesAward_500.gif b/assets/images/VotesAward_500.gif similarity index 100% rename from wiki/images/awards/VotesAward_500.gif rename to assets/images/VotesAward_500.gif diff --git a/wiki/images/awards/VotesAward_5000.gif b/assets/images/VotesAward_5000.gif similarity index 100% rename from wiki/images/awards/VotesAward_5000.gif rename to assets/images/VotesAward_5000.gif diff --git a/wiki/images/awards/VotesAward_750.gif b/assets/images/VotesAward_750.gif similarity index 100% rename from wiki/images/awards/VotesAward_750.gif rename to assets/images/VotesAward_750.gif diff --git a/all-ionic-quantimodo-screenshots.png b/assets/images/all-ionic-quantimodo-screenshots.png similarity index 100% rename from all-ionic-quantimodo-screenshots.png rename to assets/images/all-ionic-quantimodo-screenshots.png diff --git a/android-chrome-192x192.png b/assets/images/android-chrome-192x192.png similarity index 100% rename from android-chrome-192x192.png rename to assets/images/android-chrome-192x192.png diff --git a/android-chrome-512x512.png b/assets/images/android-chrome-512x512.png similarity index 100% rename from android-chrome-512x512.png rename to assets/images/android-chrome-512x512.png diff --git a/antidepressants drugs ratings.png b/assets/images/antidepressants drugs ratings.png similarity index 100% rename from antidepressants drugs ratings.png rename to assets/images/antidepressants drugs ratings.png diff --git a/apple-touch-icon.png b/assets/images/apple-touch-icon.png similarity index 100% rename from apple-touch-icon.png rename to assets/images/apple-touch-icon.png diff --git a/black-box-predictive-control-model-system.jpg b/assets/images/black-box-predictive-control-model-system.jpg similarity index 100% rename from black-box-predictive-control-model-system.jpg rename to assets/images/black-box-predictive-control-model-system.jpg diff --git a/collect-import-analyze-screenshot-ionic-qm-text.png b/assets/images/collect-import-analyze-screenshot-ionic-qm-text.png similarity index 100% rename from collect-import-analyze-screenshot-ionic-qm-text.png rename to assets/images/collect-import-analyze-screenshot-ionic-qm-text.png diff --git a/collect-import-analyze-screenshot-ionic-qm.png b/assets/images/collect-import-analyze-screenshot-ionic-qm.png similarity index 100% rename from collect-import-analyze-screenshot-ionic-qm.png rename to assets/images/collect-import-analyze-screenshot-ionic-qm.png diff --git a/curadao-brain-icon.svg b/assets/images/curadao-brain-icon.svg similarity index 100% rename from curadao-brain-icon.svg rename to assets/images/curadao-brain-icon.svg diff --git a/data-gems.png b/assets/images/data-gems.png similarity index 100% rename from data-gems.png rename to assets/images/data-gems.png diff --git a/de-identification.png b/assets/images/de-identification.png similarity index 100% rename from de-identification.png rename to assets/images/de-identification.png diff --git a/decision_support_notification_plugins.png b/assets/images/decision_support_notification_plugins.png similarity index 100% rename from decision_support_notification_plugins.png rename to assets/images/decision_support_notification_plugins.png diff --git a/wiki/images/avatars/default_l.gif b/assets/images/default_l.gif similarity index 100% rename from wiki/images/avatars/default_l.gif rename to assets/images/default_l.gif diff --git a/wiki/images/avatars/default_m.gif b/assets/images/default_m.gif similarity index 100% rename from wiki/images/avatars/default_m.gif rename to assets/images/default_m.gif diff --git a/wiki/images/avatars/default_ml.gif b/assets/images/default_ml.gif similarity index 100% rename from wiki/images/avatars/default_ml.gif rename to assets/images/default_ml.gif diff --git a/wiki/images/avatars/default_s.gif b/assets/images/default_s.gif similarity index 100% rename from wiki/images/avatars/default_s.gif rename to assets/images/default_s.gif diff --git a/desci-exchange-diagram.svg b/assets/images/desci-exchange-diagram.svg similarity index 100% rename from desci-exchange-diagram.svg rename to assets/images/desci-exchange-diagram.svg diff --git a/desci-exchange-how-it-works.png b/assets/images/desci-exchange-how-it-works.png similarity index 100% rename from desci-exchange-how-it-works.png rename to assets/images/desci-exchange-how-it-works.png diff --git a/desci-exchange-text-logo-wide-text-hands-background.png b/assets/images/desci-exchange-text-logo-wide-text-hands-background.png similarity index 100% rename from desci-exchange-text-logo-wide-text-hands-background.png rename to assets/images/desci-exchange-text-logo-wide-text-hands-background.png diff --git a/dfda-favicon.png b/assets/images/dfda-favicon.png similarity index 100% rename from dfda-favicon.png rename to assets/images/dfda-favicon.png diff --git a/dfda-icon-small.png b/assets/images/dfda-icon-small.png similarity index 100% rename from dfda-icon-small.png rename to assets/images/dfda-icon-small.png diff --git a/dfda-icon-small.svg b/assets/images/dfda-icon-small.svg similarity index 100% rename from dfda-icon-small.svg rename to assets/images/dfda-icon-small.svg diff --git a/dfda-overview-purple.png b/assets/images/dfda-overview-purple.png similarity index 100% rename from dfda-overview-purple.png rename to assets/images/dfda-overview-purple.png diff --git a/dfda-overview.png b/assets/images/dfda-overview.png similarity index 100% rename from dfda-overview.png rename to assets/images/dfda-overview.png diff --git a/dfda-small-words.svg b/assets/images/dfda-small-words.svg similarity index 100% rename from dfda-small-words.svg rename to assets/images/dfda-small-words.svg diff --git a/digital-twin-nft.png b/assets/images/digital-twin-nft.png similarity index 100% rename from digital-twin-nft.png rename to assets/images/digital-twin-nft.png diff --git a/edit a page.png b/assets/images/edit a page.png similarity index 100% rename from edit a page.png rename to assets/images/edit a page.png diff --git a/favicon-16x16.png b/assets/images/favicon-16x16.png similarity index 100% rename from favicon-16x16.png rename to assets/images/favicon-16x16.png diff --git a/favicon-32x32.png b/assets/images/favicon-32x32.png similarity index 100% rename from favicon-32x32.png rename to assets/images/favicon-32x32.png diff --git a/fda-life-expectancy-growth-jama-chart-graph.png b/assets/images/fda-life-expectancy-growth-jama-chart-graph.png similarity index 100% rename from fda-life-expectancy-growth-jama-chart-graph.png rename to assets/images/fda-life-expectancy-growth-jama-chart-graph.png diff --git a/fdai-square-icon-transparent.png b/assets/images/fdai-square-icon-transparent.png similarity index 100% rename from fdai-square-icon-transparent.png rename to assets/images/fdai-square-icon-transparent.png diff --git a/fdai-square-icon.png b/assets/images/fdai-square-icon.png similarity index 100% rename from fdai-square-icon.png rename to assets/images/fdai-square-icon.png diff --git a/history-screenshot-2.png b/assets/images/history-screenshot-2.png similarity index 100% rename from history-screenshot-2.png rename to assets/images/history-screenshot-2.png diff --git a/import-data.png b/assets/images/import-data.png similarity index 100% rename from import-data.png rename to assets/images/import-data.png diff --git a/ionic-inbox-screenshot-bg.png b/assets/images/ionic-inbox-screenshot-bg.png similarity index 100% rename from ionic-inbox-screenshot-bg.png rename to assets/images/ionic-inbox-screenshot-bg.png diff --git a/ionic-inbox-screenshot-cropped.png b/assets/images/ionic-inbox-screenshot-cropped.png similarity index 100% rename from ionic-inbox-screenshot-cropped.png rename to assets/images/ionic-inbox-screenshot-cropped.png diff --git a/ionic-strudy-screenshot.png b/assets/images/ionic-strudy-screenshot.png similarity index 100% rename from ionic-strudy-screenshot.png rename to assets/images/ionic-strudy-screenshot.png diff --git a/ionic-study-creation-screenshot.png b/assets/images/ionic-study-creation-screenshot.png similarity index 100% rename from ionic-study-creation-screenshot.png rename to assets/images/ionic-study-creation-screenshot.png diff --git a/ionic-variables-screenshot.png b/assets/images/ionic-variables-screenshot.png similarity index 100% rename from ionic-variables-screenshot.png rename to assets/images/ionic-variables-screenshot.png diff --git a/wiki/images/deleted/l/l/p/llphkmwnxq12vk5gwxqdomm9ti9mgcs.png b/assets/images/llphkmwnxq12vk5gwxqdomm9ti9mgcs.png similarity index 100% rename from wiki/images/deleted/l/l/p/llphkmwnxq12vk5gwxqdomm9ti9mgcs.png rename to assets/images/llphkmwnxq12vk5gwxqdomm9ti9mgcs.png diff --git a/machine-learning-health-optimization.png b/assets/images/machine-learning-health-optimization.png similarity index 100% rename from machine-learning-health-optimization.png rename to assets/images/machine-learning-health-optimization.png diff --git a/mstile-150x150.png b/assets/images/mstile-150x150.png similarity index 100% rename from mstile-150x150.png rename to assets/images/mstile-150x150.png diff --git a/notifications-screenshot.png b/assets/images/notifications-screenshot.png similarity index 100% rename from notifications-screenshot.png rename to assets/images/notifications-screenshot.png diff --git a/optomitron-youtube-screenshot.png b/assets/images/optomitron-youtube-screenshot.png similarity index 100% rename from optomitron-youtube-screenshot.png rename to assets/images/optomitron-youtube-screenshot.png diff --git a/diagrams/platform-architecture.drawio.png b/assets/images/platform-architecture.drawio.png similarity index 100% rename from diagrams/platform-architecture.drawio.png rename to assets/images/platform-architecture.drawio.png diff --git a/platform-architecture.png b/assets/images/platform-architecture.png similarity index 100% rename from platform-architecture.png rename to assets/images/platform-architecture.png diff --git a/reminder-inbox.png b/assets/images/reminder-inbox.png similarity index 100% rename from reminder-inbox.png rename to assets/images/reminder-inbox.png diff --git a/right_to_trial_act_image.jpg b/assets/images/right_to_trial_act_image.jpg similarity index 100% rename from right_to_trial_act_image.jpg rename to assets/images/right_to_trial_act_image.jpg diff --git a/safari-pinned-tab.svg b/assets/images/safari-pinned-tab.svg similarity index 100% rename from safari-pinned-tab.svg rename to assets/images/safari-pinned-tab.svg diff --git a/save_edits.png b/assets/images/save_edits.png similarity index 100% rename from save_edits.png rename to assets/images/save_edits.png diff --git a/sector-growth-chart.png b/assets/images/sector-growth-chart.png similarity index 100% rename from sector-growth-chart.png rename to assets/images/sector-growth-chart.png diff --git a/spaces_alpb7mdybf0ce3vsyslf_uploads_git-blob-edb4adfe424234ff8866fd666bff043fd04c4d5a_integrations-screenshot.png b/assets/images/spaces_alpb7mdybf0ce3vsyslf_uploads_git-blob-edb4adfe424234ff8866fd666bff043fd04c4d5a_integrations-screenshot.png similarity index 100% rename from spaces_alpb7mdybf0ce3vsyslf_uploads_git-blob-edb4adfe424234ff8866fd666bff043fd04c4d5a_integrations-screenshot.png rename to assets/images/spaces_alpb7mdybf0ce3vsyslf_uploads_git-blob-edb4adfe424234ff8866fd666bff043fd04c4d5a_integrations-screenshot.png diff --git a/benefits.md b/benefits.md new file mode 100644 index 00000000..6bea930c --- /dev/null +++ b/benefits.md @@ -0,0 +1,10 @@ +# Example Benefits of Personalized Medicine + +- Automatically identify food sensitivities +- Determine personalized optimal daily values for dietary intake. +- Quantify the effectiveness of drugs, supplements, and treatments. +- Calculate optimal doses of nutrients, ingredients, and other wellness factors. +- Determine optimal environmental parameters such as humidity, temperature, and light exposure. +- Determine the optimal amount of physical activity and the best forms of physical activity, intensity, and duration. +- Determine the optimal amount of sleep and the optimal time to go to sleep, and the optimal conditions for sleep. +- Determine the amount of time it takes to build a tolerance to a drug and the length of the withdrawal period from the drug. diff --git a/benefits/faster-progress.md b/benefits/faster-progress.md new file mode 100644 index 00000000..390eaaa5 --- /dev/null +++ b/benefits/faster-progress.md @@ -0,0 +1,41 @@ +--- +number: 20X +textFollowingNumber: the rate of treatment discovery +title: 20X the Speed of Curing Diseases +description: >- + By reducing the cost of clinical trials by 95%, we can run 20 times more + trials with the same resources, dramatically accelerating the discovery of new + treatments and cures. +emoji: "\U0001F680" +featuredImage: cost-per-participant.jpg +source: 'https://dfda.earth#cost-savings' +published: true +editor: markdown +date: '2025-02-09T16:20:32.118Z' +dateCreated: '2025-02-09T16:20:32.118Z' +--- + +The dramatic cost reductions shown below would revolutionize medical research by allowing us to conduct 20 times more clinical trials with the same budget. This means we could test more promising treatments simultaneously, explore more treatment combinations, and investigate cures for rare diseases that were previously too expensive to study. With each trial costing just 4% of traditional methods, research institutions and companies could redirect their resources from administrative overhead to actual scientific discovery. + +| Cost Category | Current Cost | New Cost | Reduction | Explanation | +|--------------|------------:|----------:|----------:|-------------| +| Data Management | $198,014 | $10,000 | 95% | Automated data collection and AI-driven analysis | +| IRB Approvals | $324,081 | $5,000 | 98% | AI-generated protocols with built-in ethical considerations | +| IRB Amendments | $6,347 | $0 | 100% | AI dynamically adjusts protocols within predefined ethical boundaries | +| Source Data Verification | $1,486,250 | $25,000 | 98% | Blockchain-like technology ensures data integrity | +| Patient Recruitment | $805,785 | $15,000 | 98% | Automated matching of patients to trials via EHR integration | +| Patient Retention | $76,879 | $20,000 | 74% | Automated reminders and digital engagement tools | +| Nurse/Research Associates | $2,379,605 | $150,000 | 94% | Mostly automated, with minimal human oversight | +| Physician Costs | $1,966,621 | $100,000 | 95% | AI interprets most data, physicians review complex cases | +| Clinical Procedures | $5,937,819 | $1,000,000 | 83% | Leveraging existing healthcare infrastructure | +| Laboratory Costs | $2,325,922 | $500,000 | 78% | Use of local labs, automated result reporting | +| Site Recruitment | $849,158 | $0 | 100% | No traditional sites needed in decentralized model | +| Site Retention | $4,461,322 | $0 | 100% | No traditional sites to retain | +| Administrative Staff | $7,229,968 | $100,000 | 99% | AI-driven administrative tasks | +| Site Monitoring | $4,456,717 | $0 | 100% | Automated data monitoring, no physical sites | +| Site Overhead | $7,386,816 | $0 | 100% | No physical sites required | +| Other Costs | $17,096,703 | $100,000 | 99% | Drastically reduced miscellaneous costs | +| **Total** | **$56,988,007** | **$2,025,000** | **96%** | **Overall cost reduction through automation and decentralization** | + +See the [cost savings](https://dfda.earth#cost-savings) for more details. + diff --git a/benefits/lower-costs.md b/benefits/lower-costs.md new file mode 100644 index 00000000..0d5dc352 --- /dev/null +++ b/benefits/lower-costs.md @@ -0,0 +1,46 @@ +--- +number: 95% +textFollowingNumber: lower costs of clinical trials and treatments +title: 95% Lower Costs of Clinical Trials and Treatments +description: 'By automating clinical trials and treatments, we can reduce costs by 95%' +emoji: "\U0001F4C9" +featuredImage: cost-per-participant.jpg +source: 'https://dfda.earth#cost-savings' +published: true +editor: markdown +date: '2025-02-09T16:20:32.127Z' +dateCreated: '2025-02-09T16:20:32.127Z' +--- + +Traditional clinical trials cost an average of $41,413 per participant, making large-scale research prohibitively expensive. Our system reduces this to $1,500 per participant through: + +- Elimination of physical site costs +- Automated data collection and verification +- AI-driven patient monitoring and safety checks +- Reduced administrative overhead +- Integration with existing healthcare infrastructure + +This 95% cost reduction means research institutions can run larger trials with more diverse participants, leading to more robust and representative results. + +| Cost Category | Current Cost | New Cost | Reduction | Explanation | +|--------------|------------:|----------:|----------:|-------------| +| Data Management | $198,014 | $10,000 | 95% | Automated data collection and AI-driven analysis | +| IRB Approvals | $324,081 | $5,000 | 98% | AI-generated protocols with built-in ethical considerations | +| IRB Amendments | $6,347 | $0 | 100% | AI dynamically adjusts protocols within predefined ethical boundaries | +| Source Data Verification | $1,486,250 | $25,000 | 98% | Blockchain-like technology ensures data integrity | +| Patient Recruitment | $805,785 | $15,000 | 98% | Automated matching of patients to trials via EHR integration | +| Patient Retention | $76,879 | $20,000 | 74% | Automated reminders and digital engagement tools | +| Nurse/Research Associates | $2,379,605 | $150,000 | 94% | Mostly automated, with minimal human oversight | +| Physician Costs | $1,966,621 | $100,000 | 95% | AI interprets most data, physicians review complex cases | +| Clinical Procedures | $5,937,819 | $1,000,000 | 83% | Leveraging existing healthcare infrastructure | +| Laboratory Costs | $2,325,922 | $500,000 | 78% | Use of local labs, automated result reporting | +| Site Recruitment | $849,158 | $0 | 100% | No traditional sites needed in decentralized model | +| Site Retention | $4,461,322 | $0 | 100% | No traditional sites to retain | +| Administrative Staff | $7,229,968 | $100,000 | 99% | AI-driven administrative tasks | +| Site Monitoring | $4,456,717 | $0 | 100% | Automated data monitoring, no physical sites | +| Site Overhead | $7,386,816 | $0 | 100% | No physical sites required | +| Other Costs | $17,096,703 | $100,000 | 99% | Drastically reduced miscellaneous costs | +| **Total** | **$56,988,007** | **$2,025,000** | **96%** | **Overall cost reduction through automation and decentralization** | + +See the [cost savings](https://dfda.earth#cost-savings) for more details. + diff --git a/benefits/lower-drug-prices.md b/benefits/lower-drug-prices.md new file mode 100644 index 00000000..85b40720 --- /dev/null +++ b/benefits/lower-drug-prices.md @@ -0,0 +1,120 @@ +--- +title: Lower Drug Prices +description: >- + Below is a deeper quantitative analysis of how drastically cheaper trials and + increased competition (including off-patent/unpatentable compounds) could push + drug prices down. +emoji: "\U0001F911" +published: true +editor: markdown +date: '2025-02-09T16:20:32.129Z' +dateCreated: '2025-02-09T16:20:32.129Z' +--- + +Below is a quantitative analysis of how drastically cheaper trials and increased competition (including off-patent/unpatentable compounds) could push drug prices down. + +--- + +## 1. Why Trial Costs Drive Prices + +1. **Proportion of Total Development Cost** + - Many estimates say Phase II/III trials can account for 50%–70% of total drug development costs. + - If a drug’s total development runs \$2 billion, \$1–\$1.4 billion might go to Phase II/III. + - A 95% cut to those trials slashes overall development costs by roughly 50%–65%. + +2. **Break-Even Analysis** + - Firms set launch prices to recover R&D spending + overhead + profit in the patent window. + - Cut R&D in half, and they need far less revenue to justify the same investment return. + - This alone suggests brand prices can drop significantly (by 30%–50% or more). + +--- + +## 2. Competitive Pressure from Many New Entrants + +1. **Lower Barriers to Entry** + - With cheap trials, smaller companies and nonprofits can compete on niche indications. + - Large firms lose monopoly on data because others can afford to generate competing evidence. + - Result: Multiple treatments in the same market earlier, bidding down prices. + +2. **Compounds That Were Never Patented** + - Nutraceuticals, repurposed generics, or old molecules with expired patents can now be tested cheaply in large trials. + - If a cheap, off-patent compound proves equal/better than a brand drug, it grabs market share quickly. + - Brand drug either lowers price or loses sales. + +3. **Patient-Led Research** + - Patient advocacy groups could sponsor trials on generic or off-patent drugs to prove efficacy in certain diseases. + - Once proven effective, these drugs can be sold at near-generic prices. + - This exerts more downward pressure on new patent-protected drugs. + +--- + +## 3. Modeling the Price Reduction + +Below is one simple way to capture the impact: + +\[ +\text{New Drug Price} += \text{Old Price} \times \bigl( \alpha \times \frac{\text{Remaining Development Cost}}{\text{Original Development Cost}} + \beta \times \frac{1}{\text{Competition Factor}} \bigr). +\] + +Where: +- **Old Price** is the typical launch price under today’s cost structure. +- **Remaining Development Cost** is after the 95% cut in Phase II/III. +- **Competition Factor** accounts for the number of new competing therapies. +- **\(\alpha, \beta\)** are weighting parameters to reflect that cost recovery and competition both matter. + +### 3.1 Rough Numbers + +1. **Development Cost Cut**: 50%–65% total. +2. **Competition Factor**: Let’s say if 2–3 brand-like competitors enter a space (instead of 1), that alone can force a 20%–40% price drop. +3. **Off-Patent Threat**: If generics or old molecules can be proven effective, price drops can exceed 50%. + +Combine these effects: + +- **Base Price Drop from Cost Reduction**: 30%–50%. +- **Additional Competition Drop**: Another 20%–40%. +- **Potential Off-Patent Competition**: Could wipe out brand share or force even deeper cuts. + +Put it all together, and you might see brand drug prices drop by 40%–70% in scenarios where a generic competitor emerges early, or 30%–50% if only brand-brand competition rises. Some markets might see near-complete collapse of high brand prices if robust data prove generics or nutraceuticals are as good. + +--- + +## 4. Global Impact on Drug Spending + +1. **Size of the Market**: ~\$1.4 trillion/year in prescription drug spending globally (90% CI: \$1.2–\$1.6T). +2. **Share of That Spending Potentially Exposed**: Over time, most patented drugs would face new competition (including from repurposed compounds). Let’s say 60%–80% of spending is on branded, patent-protected products. + +### 4.1 Moderate Scenario + +- Assume half of that brand spending sees a 40% price reduction within a few years. +- That’s 0.5 × (0.60 × \$1.4T) = \$420B in brand sales exposed, cut by 40% = \$168B saved. +- Some portion of the other half might see smaller reductions. Possibly \$50–\$100B more. +- Total savings could be **\$200–\$300B**. + +### 4.2 Aggressive Scenario + +- Over 10–15 years, nearly all brand sales (60%–80% of \$1.4T) face 50%+ cuts from cheap trial-based competition and cost-based pricing. +- That’s \$840B – \$1.12T of brand spending. +- A 50% price drop yields **\$420–\$560B** annual savings, possibly more if many older molecules come back in. +- Factor in extremely cheap generics or nutraceuticals that get validated, and you could see bigger reductions. + +--- + +## 5. Putting It All Together + +1. **Trial Cost Savings**: \$45–\$840B (wide range; baseline ~\$266B). +2. **Earlier Access & Better Matching**: \$20B to \$20T in QALY value (baseline ~\$840B). +3. **Drug Price Reductions**: + - **Moderate**: \$200–\$300B after widespread adoption. + - **Aggressive**: \$400B+ once off-patent competition fully ramps up. + +Combine these, and we still get a **trillion-plus** annual global benefit in many scenarios. The biggest “wild card” is whether widespread, low-cost trials for off-patent/unpatentable compounds truly scale up. If they do, brand prices could plummet even more than the 30–50% from cost savings alone. + +--- + +## 6. Conclusion + +- **At Least Half of Development Costs** come from big Phase II/III trials. Slashing those by 95% reduces overall R&D spending by ~50–65%. +- **Big Price Drops** follow because companies no longer need massive profit margins to recoup huge investments. +- **Increased Competition** from new entrants, generic repurposing, and patient-led trials on old compounds drives prices down further. +- **Modeling** a 30–70% cut in brand prices is plausible, translating into **hundreds of billions** in annual savings, potentially more over time. diff --git a/benefits/overall-economic-benefits.md b/benefits/overall-economic-benefits.md new file mode 100644 index 00000000..153e2028 --- /dev/null +++ b/benefits/overall-economic-benefits.md @@ -0,0 +1,232 @@ +--- +title: Overall Economic Benefits +description: >- + Quantitative analysis of global economic benefits from decentralized clinical + trials and automated FDA processes +emoji: "\U0001F4C8" +toc: true +published: true +editor: markdown +date: '2025-02-09T16:20:32.132Z' +dateCreated: '2025-02-09T16:20:32.132Z' +--- + +**Key Sections** +[1. Trial Cost Savings](#1-trial-cost-savings) +[2. Earlier Patient Access](#2-earlier-access-7-years-sooner) +[3. Treatment Matching](#3-comparative-effectiveness-matching) +[4. QALY Valuation](#4-valuing-those-qalys) +[5. Drug Price Reductions](#5-reduced-drug-prices) +[6. Niche Therapies](#6-more-therapies-for-smaller-markets) +[7. Summary Table](#7-annual-benefits-summary) +[8. References](#8-references) +--- +title: Overall Economic Benefits +description: >- + This model estimates the global economic benefits of a decentralized, automated FDA trial platform. +emoji: 📈 +--- + +Below is a consolidated, quantitative analysis of global benefits from a universal shift to: + +1. **Decentralized, automated trials** that reduce per-subject costs by ~95%. +2. **Earlier patient access** to new treatments (after Phase 1 safety) by up to 7 years. +3. **Global comparative-effectiveness data** that improve treatment matching and unleash competition (including off-patent/unpatentable therapies). + +All figures have wide confidence intervals (CIs). These estimates are not exact but indicate the potential scale. + +--- + +## 1. Trial Cost Savings + +**Key Points** + +- Traditional Phase II/III can be 50%–70% of total development cost (often cited \$2B). +- Cutting Phase II/III by 95% slashes overall development spending by ~50%–65%. +- Globally, around 2,000 Phase II/III trials launch each year (90% CI: 1,500–3,000). +- Per-trial cost might drop from \$140M to \$7M (baseline numbers). + +**Baseline Calculation** + +1. Old Cost/Trial: \$140M (90% CI: \$50–\$300M) +2. New Cost/Trial: \$7M (2.4–\$20M range) +3. Savings per Trial: ~\$133M (30–\$280M range) +4. Annual Trials: 2,000 (1,500–3,000 range) + +| Item | Old Cost (M) | New Cost (M) | Savings (M) | +| --------------------- | ------------ | ------------ | ----------- | +| Cost per Trial | \$140 | \$7 | \$133 | +| Number of Trials/Year | 2,000 | 2,000 | - | +| **Total Savings/Year**| **-** | **-** | **\$266B** | + +\[ +\text{Total Savings} \approx 133\text{M} \times 2{,}000 += \$266 \text{B per year (90% CI: \$45–\$840B)}. +\] + +--- + +## 2. Earlier Access: 7 Years Sooner + +**Key Points** + +- Patients get new therapies right after Phase 1 safety, typically 7 years sooner than current Phase II/III + approval timelines. +- Gains are measured in QALYs (quality-adjusted life years). +- We assume 50 “highly impactful” therapies per year (30–70 range). +- Each therapy affects ~200k patients in those 7 “waiting years.” +- ~20% (10%–30%) see major life extension, each gaining ~7 extra QALYs (3–10 range). + +**QALY Estimate (Baseline)** + +\[ +\text{QALYs per therapy} += 200{,}000 \times 20\% \times 7 += 280{,}000. +\] + +\[ +\text{For 50 therapies} += 14{,}000{,}000 \text{ QALYs}. +\] + +That’s 14 million QALYs if patients can use the drug 7 years earlier. The 90% CI might range from 1 million to 105+ million QALYs, depending on the parameters above. + +| Item | Value | +| ------------------------- | ------------------- | +| Therapies/Year | 50 | +| Patients/Therapy | 200,000 | +| Major Life Extension Rate | 20% | +| QALYs Gained/Patient | 7 | +| **Total QALYs/Year** | **14,000,000** | + +--- + +## 3. Comparative-Effectiveness Matching + +**Key Points** + +- Global data systems rank treatments by demographic. +- Doctors no longer rely on limited personal knowledge or guesswork. +- We assume a 20% average improvement in outcomes vs. typical trial-and-error prescribing (10%–30% range). + +Applying a 20% multiplier to the QALYs above yields ~16.8 million QALYs (baseline). A low-end scenario might be ~1.1 million QALYs; a high-end scenario could exceed 130 million. + +--- + +## 4. Valuing Those QALYs + +**Key Points** + +- Many health economists use \$50k/QALY as a modest baseline, with 90% CI of \$20k–\$150k. + +**Baseline Calculation** + +| Item | Value | +| ------------------------ | ----------------- | +| Baseline QALYs | 16.8 million | +| Value per QALY | \$50,000 | +| **Total Value per Year** | **\$840 billion** | + +\[ +16.8 \text{ million QALYs} \times \$50{,}000 += \$840 \text{ billion/year}. +\] + +**Confidence Interval**: From ~\$20B (1 million QALYs × \$20k) to >\$20T (130+ million QALYs × \$150k). This is a huge range but indicates a massive potential health benefit. + +--- + +## 5. Reduced Drug Prices + +**Why Prices Fall** + +- Phase II/III cost = ~50%–70% of total R&D. Cutting that 95% means overall R&D cost drops by ~50–65%. +- Competition rises from smaller players, nonprofits, and patient groups studying cheaper or off-patent compounds. +- If generics or nutraceuticals get validated in large, cheap trials, they can undercut brand drugs further. + +**Modeling Price Cuts** + +1. **Base Cost-Based Reduction**: 30–50% drop from lower R&D costs alone. +2. **Competition Effect**: Another 20–40% drop if multiple brand-like competitors enter. +3. **Off-Patent Threat**: Some branded drugs could lose the market to a generic/nutraceutical validated by a cheap trial, forcing deeper cuts. + +**Overall Potential** + +- Global prescription drug spending is ~\$1.4T (1.2–1.6T). +- 60–80% of that is on brand/patented products. +- Over 5–10 years, broad adoption of these methods could cut brand spending by 40–70%. + +**Moderate Scenario**: + +| Item | Value | +| ----------------------------- | ----------------- | +| Global Brand Drug Spending | \$1.4T | +| % Spending with Price Drops | 50% | +| Price Drop Percentage | 40% | +| **Total Price Reduction** | **\$280 billion** | + +- ~50% of brand spending sees a ~40% price drop. That’s \$280B in cuts. Possibly \$200–\$300B total. + +**Aggressive Scenario**: +- Nearly all brand spending (say \$1T) sees a 50%+ cut over time, yielding \$500B+. + +--- + +## 6. More Therapies for Smaller Markets + +1. **Rare/Niche Diseases**: + - When trials cost \~5% of current levels, small patient populations become profitable or at least feasible. + - Expect +10–20% new approvals. +2. **Patient-Led Consortia**: + - Nonprofits and patient groups can run large-scale comparative trials on ultra-rare diseases or unpatentable compounds. + - This yields treatments that otherwise might never be studied. + +Quantifying the financial upside is harder, but it might add \$5–\$20B in intangible benefits and QALY gains. For patients with rare, life-threatening conditions, it’s enormous. + +--- + +## 7. Putting It All Together + +Below is a rough tally of annual benefits once the system is widely adopted: + +1. **Trial Cost Savings**: + - Baseline: \$266B + - 90% CI: \$45–\$840B + +2. **Earlier Access + Better Matching**: + - Baseline: \$840B in health benefits (QALYs) + - 90% CI: \$20B–\$20T + +3. **Drug Price Reductions**: + - Baseline: \$200–\$300B in moderate scenario; could exceed \$500B in a high-competition scenario. + +4. **Rare/Niche Therapies**: + - Possibly another \$5–\$20B intangible. + +| Benefit Category | Baseline Value | +| ----------------------------- | -------------- | +| Trial Cost Savings | \$266B | +| Earlier Access + Better Matching| \$840B | +| Drug Price Reductions | \$250B | +| Rare/Niche Therapies | \$10B | +| **Total Annual Benefit** | **\$1.37T** | + +**Baseline Sum**: +\[ +266 + 840 + 250 + 10 +\approx \$1.37 \text{ trillion per year.} +\] + +With more conservative assumptions, you might see “only” \$200–\$300B total. In a high-end scenario, benefits could exceed **\$2–\$3 trillion** (or even higher if off-patent discoveries displace many brand drugs). + +--- + +## 8. Conclusion + +- **Massively Reduced Trial Costs** free up hundreds of billions in R&D. +- **7-Year Earlier Access** yields huge QALY gains—potentially hundreds of billions to trillions of dollars in value. +- **Price Competition** from new entrants and validated generics/nutraceuticals can push brand prices down 30–70%. +- **Patient Groups** can develop off-patent compounds for cheap. +- **Total Gains** plausibly exceed **\$1 trillion per year** under a midrange scenario, with even higher upside if widely adopted. + +This framework remains a high-level approximation. Real-world adoption speed, global regulations, and market dynamics will shape the final outcome. Yet, even on the conservative end, the potential is extraordinary. diff --git a/benefits/patient-participation.md b/benefits/patient-participation.md new file mode 100644 index 00000000..ee8aeb6f --- /dev/null +++ b/benefits/patient-participation.md @@ -0,0 +1,29 @@ +--- +number: 100% +textFollowingNumber: of patients can participate in trials +title: 100% Patient Participation in Trials +description: >- + By removing traditional barriers and using decentralized trials, we can + include the 100% of patients typically excluded from clinical research +emoji: "\U0001F30D" +featuredImage: patient-participation.jpg +source: 'https://dfda.earth' +published: true +editor: markdown +date: '2025-02-09T16:20:32.136Z' +dateCreated: '2025-02-09T16:20:32.136Z' +--- + +Traditional clinical trials exclude up to [85%](https://www.ncbi.nlm.nih.gov/pubmed/14628985) of willing participants due to strict eligibility criteria and geographical limitations. Our decentralized approach removes these barriers by: + +- Enabling participation from any location through remote monitoring +- Including patients with multiple conditions or medications +- Supporting diverse populations through automated translation and cultural adaptation +- Allowing participation while maintaining regular treatment regimens +- Reducing the burden of in-person visits + +This increased inclusivity means trial results better represent real-world patients, leading to more accurate and applicable treatment data. + +Sources: +- [Exclusion Criteria](https://www.ncbi.nlm.nih.gov/pubmed/14628985) + diff --git a/benefits/time-to-treatment.md b/benefits/time-to-treatment.md new file mode 100644 index 00000000..dbadc6b4 --- /dev/null +++ b/benefits/time-to-treatment.md @@ -0,0 +1,26 @@ +--- +number: 2 Years +textFollowingNumber: instead of 17 years to get new treatments to patients +title: 17 years to 2 Year From Research to Treatment +description: >- + By streamlining the clinical trial process through automation and + decentralization, we can reduce the time from initial research to patient + availability from 17 years to just 2 years +emoji: ⚡ +featuredImage: treatment-time.jpg +source: 'https://dfda.earth' +published: true +editor: markdown +date: '2025-02-09T16:20:32.141Z' +dateCreated: '2025-02-09T16:20:32.141Z' +--- + +From initial research to clinical practice, new medical treatments take an average of [17 years](https://pmc.ncbi.nlm.nih.gov/articles/PMC3241518/) to complete the development process and reach patients. + +Phase 1 clinical trials are used to determine the safety and effects of a new drug. These take 1-2 years. + +At this point, it should be possible for patients to join a trials for the treatments with the most promise. + +Through automation of administrative tasks, AI-assisted protocol development, and decentralized trial management, we can dramatically compress this timeline. + +This acceleration means potentially life-saving treatments reach patients faster while maintaining rigorous safety standards through automated monitoring and real-time data analysis. diff --git a/blueprint/blueprint-gas.md b/blueprint/blueprint-gas.md new file mode 100644 index 00000000..fa0c380c --- /dev/null +++ b/blueprint/blueprint-gas.md @@ -0,0 +1,45 @@ +# Incentivized Actions for Global Blueprint Adoption + +## 1. Blueprint Optimization +| Action | Impact | Reward | +|--------|---------|---------| +| Identify critical flaw in blueprint | Prevents implementation failure | $10,000 | +| Propose solution to identified flaw | Ensures feasibility | $20,000 | +| Validate solution with evidence | Strengthens credibility | $5,000 | +| Translate blueprint to new language | Enables global reach | $1,000 | +| Submit regulatory compliance analysis for a nation | Enables legal implementation | $5,000 | + +## 2. Public Support Generation +| Action | Impact | Reward | +|--------|---------|---------| +| Get 1,000 verified signatures on referendum | Builds critical mass | $1,000 | +| Document preventable death/suffering case | Builds emotional urgency | $100 | +| Create viral content reaching 100K+ views | Spreads awareness | $5,000 | +| Organize local townhall meeting >100 people | Builds grassroots support | $1,000 | +| Convert opposing healthcare professional | Adds credibility | $500 | + +## 3. Political Implementation +| Action | Impact | Reward | +|--------|---------|---------| +| Get political candidate to endorse blueprint | Enables political action | $10,000 | +| Draft implementation legislation for a nation | Enables legal adoption | $20,000 | +| Get legislative committee to review blueprint | Moves toward adoption | $50,000 | +| Secure major party support | Enables passage | $100,000 | +| Get nation to adopt blueprint | Achieves goal | $1,000,000 | + +## 4. Resource Mobilization +| Action | Impact | Reward | +|--------|---------|---------| +| Get 1,000 new $1 contributors | Funds movement | $1,000 | +| Secure major philanthropic donation >$1M | Enables scale | $100,000 | +| Get institutional endorsement | Adds legitimacy | $10,000 | +| Create new incentive mechanism | Improves sustainability | $50,000 | + +## Success Metrics +- Blueprint optimization: All critical flaws addressed +- Public support: >1% of each nation's population signed +- Political action: Blueprint introduced in >50% of national legislatures +- Resources: $2B+ funding secured + +Total estimated incentive budget required: $100M +Expected ROI: $2T+ in annual healthcare savings \ No newline at end of file diff --git a/blueprint/blueprint-high-level.md b/blueprint/blueprint-high-level.md new file mode 100644 index 00000000..00708cd3 --- /dev/null +++ b/blueprint/blueprint-high-level.md @@ -0,0 +1,18 @@ +Here’s a clearer, more intuitive framework: + +**Phase 1: Define the Ideal** +- **Blueprint for a World Without Disease:** A clear, accessible vision of what a disease-free society would look like. This document paints the target state in simple terms, so everyone knows what we’re aiming for. + +**Phase 2: Chart the Path** +- **Roadmap to a World Without Disease:** A practical, step-by-step plan that details the methods, tools, policies, and incentives to reach the goal. This shows exactly how we move from today’s reality to the envisioned future. + +**Phase 3: Seek Global Consent** +- **Global Referendum on Disease Eradication:** Put the plan to a worldwide vote. Give every citizen a voice to accept or reject the proposed changes. If the global community says “yes,” it grants both moral and political authority to move forward. + +**Phase 4: Enact the Legal Framework** +- **Disease Eradication Act:** With broad support, pass a law that formalizes the reforms, incentives, and institutions necessary to implement the roadmap. This locks in the structure needed to coordinate efforts, fund research, and reward prevention and cures. + +**Phase 5: Implement, Measure, and Adapt** +- **Building the World Without Disease:** Begin large-scale deployment of prevention strategies, cutting-edge treatments, and data-driven policies. Monitor progress, refine approaches based on real-world data, and continually improve systems until disease is effectively eliminated or minimized. + +This progression—Vision (Blueprint), Plan (Roadmap), Consent (Referendum), Authority (Act), and Action (Implementation)—creates a logical, transparent sequence from conception to worldwide realization. It’s easy to understand and aligns with common-sense steps: imagine a better future, figure out how to get there, ask everyone if they agree, make it official, then carry it out and keep improving. \ No newline at end of file diff --git a/blueprint/blueprint-sitemap.md b/blueprint/blueprint-sitemap.md new file mode 100644 index 00000000..0a8fa81d --- /dev/null +++ b/blueprint/blueprint-sitemap.md @@ -0,0 +1,217 @@ +### Homepage + +**Headline:** A Blueprint for a World Without Disease + +**Subheading:** From Vision to Action: Creating Incentives to Cure and Prevent, Not Prolong Illness + +**Intro Text (Brief):** +Current healthcare systems treat diseases instead of eradicating them. We spend billions on drugs that mask symptoms. We wait decades for effective treatments. We rely on outdated approval processes. It doesn’t have to be this way. This initiative proposes a simple plan: +1. Define what a disease-free world looks like. +2. Create a roadmap to achieve it. +3. Let the world vote. +4. Pass a law that rewards prevention and cures. +5. Implement a system that ends unnecessary suffering. + +**Call to Action:** +- Learn the plan. +- Get involved. +- Help push the world toward a future without preventable disease. + +--- + +### About the Problem + +**Page Goal:** Explain why the current system fails. + +**Content:** +We have advanced technology and vast medical knowledge, yet chronic disease rates rise. Why? + +- **Misaligned Incentives:** Healthcare profits often come from long-term sick patients, not from cures. +- **Slow, Expensive Approvals:** Regulatory systems, like the FDA, rely on outdated methods. They lack a simple unified database of time-series data linking treatments and outcomes. +- **High Costs, Low Participation:** Clinical trials exclude most who want to participate. Promising treatments wait years for approval. +- **Result:** More illness, higher costs, less innovation. + +It’s not a mystery why we fail. The incentives are backward. The system needs a reboot. + +--- + +### The Blueprint for a World Without Disease + +**Page Goal:** Present the vision of an ideal disease-free world. + +**Content:** +Imagine a world where: +- Each disease has a known, data-driven set of treatments ranked by real effectiveness. +- Prevention is the norm. Young people grow old without suffering chronic conditions that once seemed inevitable. +- If a treatment cures a disease, it’s celebrated and rewarded. Healthcare no longer profits from keeping people sick. +- Everyone can access the best treatments quickly, share their outcomes, and improve global knowledge. + +This Blueprint describes what such a world looks like. It sets the target before we build the tools. + +--- + +### The Roadmap to a World Without Disease + +**Page Goal:** Show how to get from today’s reality to the blueprint’s vision. + +**Content:** +1. **Data Infrastructure:** Create a global, decentralized FDA (dFDA) that ranks treatments by real-world effectiveness and costs. +2. **Patient Participation:** Let patients easily join trials, report outcomes, and improve the ranking system. +3. **Reward Prevention and Cures:** Introduce a 50/50 savings split. When a cure saves billions, half the savings go to society, half to the cure’s creators. This makes cures profitable and encourages investment. +4. **Global Referendum:** Once the roadmap is clear, ask everyone—citizens worldwide—to vote on its adoption. +5. **Legislation (Disease Eradication Act):** With public support, pass a law that locks in these incentives, data systems, and patient rights. +6. **Ongoing Improvement:** Continuously refine the system based on feedback and new data, keeping the process transparent and democratic. + +--- + +### Global Referendum on Disease Eradication + +**Page Goal:** Explain the global vote and why it matters. + +**Content:** +This isn’t a top-down decree. It’s a global choice. All informed citizens should have a say: + +- **What’s Being Voted On?** Whether to adopt the Roadmap and formalize it into legislation. +- **Why a Referendum?** It ensures legitimacy. If the world agrees, policymakers can’t ignore it. +- **Execution:** Secure, transparent voting methods. Education before voting. Incentives for learning about the proposals. + +If the majority supports the plan, we move to legal implementation. + +--- + +### The Disease Eradication Act + +**Page Goal:** Outline the key provisions of the legislation that locks in the system. + +**Content:** +- **Creation of the dFDA:** A global, algorithmic system to analyze all treatment data and rank options. +- **Patient Rights:** Immediate access to top-ranked treatments and the ability to share outcome data easily. +- **50/50 Savings Sharing:** If a new therapy cures or prevents a costly disease, half of the saved costs return to society, half to its creators. +- **Transparency and Democracy:** Amendments proposed and voted on by stakeholders. +- **Stable Funding:** Draw from minimal contributions of those who benefit from cost savings (governments, employers, etc.). + +This Act turns the vision into enforceable rules. + +--- + +### The Global Decentralized FDA (dFDA) + +**Page Goal:** Detail the dFDA’s function and importance. + +**Content:** +- **Data Collection:** Patients, clinics, researchers submit time-series data on treatments and outcomes. +- **Algorithmic Ranking:** Automated analysis identifies which treatments yield the best quality-adjusted life years (QALYs) improvements. +- **Continuous Improvement:** As more data pours in, rankings update. Treatments improve, bad options fade. +- **Transparency:** All rankings and datasets are open. Audits verify integrity. This allows anyone to see why certain treatments are recommended. + +The dFDA replaces guesswork with evidence, making healthcare decisions data-driven. + +--- + +### Incentives: 50/50 Health Savings Sharing + +**Page Goal:** Show how incentives align to produce cures. + +**Content:** +- **Current Issue:** Drug makers often profit from long-term patient dependence. +- **New Model:** When a treatment slashes costs, it generates savings. Society reclaims half, and innovators get the other half. +- **Result:** Innovators focus on cures, not just symptom management. Governments and payers see reduced costs, fueling more support for the system. + +This corrects the misaligned incentives that kept diseases profitable. + +--- + +### FAQ + +**Question:** Why do we need a whole new system? +**Answer:** Because current healthcare rewards treating, not curing, and lacks integrated data. + +**Q:** Isn’t this too ambitious? +**A:** Yes, it’s big. But incremental tweaks haven’t solved the crisis of rising chronic diseases. This approach tackles root incentives. + +**Q:** Who controls the dFDA? +**A:** It’s decentralized. No single government or company controls it. It’s governed by algorithmic rules, open data, and transparent oversight. + +**Q:** Will patients be forced to participate? +**A:** No. Participation is voluntary, but contributors may receive small rewards. + +**Q:** Isn’t sharing health data risky? +**A:** Patient privacy is paramount. Data is anonymized and secure. The benefit is better treatment rankings for everyone. + +--- + +### Get Involved + +**Page Goal:** Encourage visitors to help. + +**Content:** +- **For Patients:** Sign up to share outcomes (once the system is live), advocate for the roadmap, demand better data access. +- **For Researchers and Developers:** Contribute tools, analytics methods, and improved algorithms. +- **For Employers, Insurers, Governments:** Provide initial funding, test pilot projects, adopt policies aligning with prevention. +- **For Citizens:** Learn about the proposal, educate others, pressure legislators to support the referendum and the Act. + +Participation doesn’t require heroics—just share the information, talk to legislators, or contribute as your role allows. + +--- + +### Resources + +**Page Goal:** Offer data sources, research papers, and policy briefs. + +**Content:** +- Links to research on cost of chronic diseases. +- Analyses of how incentive shifts reduce long-term healthcare spending. +- Whitepapers outlining the technical specs of the dFDA. +- Economic models showing projected savings and QALY improvements. + +--- + +### For Policymakers + +**Page Goal:** Direct guidance for legislators and regulators. + +**Content:** +- **Policy Briefs:** Clear summaries of the Act’s components. +- **Cost-Benefit Analysis:** Show projected savings and political advantages of supporting a system that voters globally approve. +- **Implementation Steps:** Legal language templates, guidance on integrating local healthcare laws, and timelines for rolling out the dFDA. + +--- + +### For Healthcare Providers + +**Page Goal:** Practical info for doctors, nurses, and clinics. + +**Content:** +- How to access the dFDA rankings. +- How to submit patient outcomes data easily. +- Understanding new incentives: why cures are now encouraged, not just treatments. +- FAQ on regulatory changes and how they impact everyday practice. + +--- + +### For Developers & Data Scientists + +**Page Goal:** Technical details and open-source collaboration info. + +**Content:** +- API documentation for submitting data. +- Algorithms explained: ranking methods, metrics used (QALYs, cost-effectiveness). +- Open-source repositories, code samples, contribution guidelines. + +--- + +### Contact & Legal + +**Page Goal:** Provide a way to reach out and disclaimers. + +**Content:** +- Contact form or email address for inquiries. +- Disclaimer that this is a proposed framework, not yet enacted law. +- Privacy policy and data use statements. +- Copyright and license for open-source materials. + +--- + +### Conclusion + +This comprehensive website addresses every stakeholder, from everyday citizens to policymakers and tech experts. It’s structured to explain why we need change, how the system works, the steps to achieve it, and how everyone can help. It avoids unnecessary hype, sticks to the facts, and shows a logical path from a visionary blueprint to a legally enforced system that ends preventable disease. \ No newline at end of file diff --git a/blueprint/blueprint-strategy.md b/blueprint/blueprint-strategy.md new file mode 100644 index 00000000..2a1983d1 --- /dev/null +++ b/blueprint/blueprint-strategy.md @@ -0,0 +1,19 @@ +# Strategy for a World Without Disease + +1. Collect Data on What Works Best: + Build a simple, trusted global database that shows which treatments and habits improve health the most. Make it easy for anyone—patient or researcher—to add info. Show clear rankings of treatments, so people know what actually helps. + +2. Let People Choose: + Patients see the best treatments, order them easily, and report back their results. This feedback keeps improving the data and rankings. If a drug or diet works, it rises to the top. If it’s useless, it sinks. + +3. Reward Disease Prevention and Cures: + Right now, companies make money from long-term illness. Change that. Give them part of the savings when they cure or prevent diseases. If a new therapy cuts healthcare costs, share the money saved with those who developed it. This makes cures profitable. + +4. Involve Everyone: + Ask citizens, patients, doctors, and researchers worldwide to refine a simple public “Act” that aims at lower disease rates and better treatments. They vote on it or pressure their lawmakers to adopt it. As it’s improved, everyone understands where we’re headed and why. + +5. Fund It Openly and Fairly: + Instead of traditional lobbying behind closed doors, gather support and funding from those who benefit: large employers, insurers (or better, self-insured ones), and even health-conscious citizens. Show them that by paying into this system—just a fraction of what they’d waste on sickness—they get healthier people and lower long-term costs. + +**In short:** +Collect honest data, let patients pick the best care, pay for prevention, invite everyone to shape the rules, and fund it openly. No tricks, no complexity: just find what works, share it, make cures profitable, and get governments and payers on board. \ No newline at end of file diff --git a/blueprint/blueprint-summary.md b/blueprint/blueprint-summary.md new file mode 100644 index 00000000..ff214f64 --- /dev/null +++ b/blueprint/blueprint-summary.md @@ -0,0 +1,87 @@ +# How to Create a World Without Disease + +## Billions of Hours of Unnecessary Suffering +Right now: +- Your grandmother is forgetting your name while a treatment that could reverse her Alzheimer's sits in regulatory limbo +- A child is screaming in pain from cancer treatments while a targeted therapy that could cure her isn't "profitable enough" to develop +- Someone's father just died waiting for an FDA approval - for a drug that's been safely used in Europe for years +- Your friend is going blind from diabetes complications because the system profits more from selling him insulin than preventing the damage +- A mother is selling her house to buy drugs that barely keep her alive, while the cure sits untested because it would eliminate a billion-dollar treatment market +- A 30-year-old is planning his suicide because his chronic pain makes life unbearable, while better treatments are blocked by bureaucracy + +**This isn't an abstract problem - it's agony that DOES NOT NEED TO EXIST:** +- Every 4 minutes someone dies from a disease we could prevent +- Every day, parents watch their children suffer through treatments that research already shows don't work +- Right now, someone is being told "there's nothing more we can do" for a disease that's already been cured in lab mice +- People are dying in America from diseases that are already being successfully treated in other countries +- Your loved ones will suffer and die from preventable diseases because the system makes more money from treatment than cures + +The tragedy isn't just that people are suffering - it's that we have the capability to prevent much of this suffering, but our current system actively blocks solutions that could help. + +## The World We Could Have Tomorrow +We have the capability RIGHT NOW to: +- Reverse aging and prevent most diseases before they start +- Cure rather than just treat most chronic diseases +- Give terminal patients immediate access to promising treatments instead of death sentences +- Stop children from dying of diseases we already know how to cure +- End the practice of bankrupting families to keep their loved ones alive +- Make developing cures more profitable than keeping people sick + +## Act Now: Join the Movement to End Preventable Suffering + +### Immediate Actions +1. Contribute + - Contribute $1 or more to join millions fighting for change + - Every dollar helps counter the $700M/year spent maintaining the current system + - Get your unique referral link to grow the movement + +2. Share Your Story + - Add your voice to our database of preventable suffering + - Document the real impact of blocked treatments + - Help us show policymakers the human cost of delays + +3. Spread the Blueprint + - Share your referral link with others affected by chronic disease + - Each person you bring in strengthens our collective voice + - Earn rewards for growing the movement + +### Why Every Person Matters +- Your $1 joins with millions of others to outweigh industry lobbying +- Your story adds to the evidence needed for policy change +- Your network helps build the critical mass needed for systemic change +- Your voice joins others demanding access to existing cures + +### The Time is Now +Every day we wait: +- More people die from preventable causes +- More families go bankrupt from treatable conditions +- More cures stay locked behind regulatory barriers + +Don't wait. With your $1 contribution and get your referral link to start making change happen today. + +Remember: The cures exist. The technology exists. All we need is enough people standing together to demand access to them. + +This isn't just possible - we have the technology and knowledge to build it today. What's been missing is the collective will and organization to make it happen. + +## The Solution +Three essential components to transform healthcare: + +### 1. A Global Decentralized Autonomous Algorithmic FDA +- Automated clinical trials +- Real-time treatment effect tracking +- Ranked lists of effective treatments +- Global data sharing network +- Algorithmic cost benefit analysis to determine the number of Quality Adjusted Life Years (QALYs) a treatment is worth + +### 2. Right to Trial Act +- Universal clinical trial access +- Elimination of barriers to trial participation +- Patient empowerment and choice + +### 3. Incentiving Cures Instead of Chronic Disease +- 50/50 Health Savings Sharing Program +- Rewards for prevention and cures +- Affordable access to breakthrough treatments +- Long-term savings tracking + +[Learn more about the Blueprint for a World Without Disease](blueprint.md) \ No newline at end of file diff --git a/blueprint/blueprint.md b/blueprint/blueprint.md new file mode 100644 index 00000000..7bd3a73e --- /dev/null +++ b/blueprint/blueprint.md @@ -0,0 +1,197 @@ +# How to Create to a World Without Disease + +## The Preventable Suffering Billions Live In +Right now: +- Your grandmother is forgetting your name while a treatment that could reverse her Alzheimer's sits in regulatory limbo +- A child is screaming in pain from cancer treatments while a targeted therapy that could cure her isn't "profitable enough" to develop +- Someone's father just died waiting for an FDA approval - for a drug that's been safely used in Europe for years +- Your friend is going blind from diabetes complications because the system profits more from selling him insulin than preventing the damage +- A mother is selling her house to buy drugs that barely keep her alive, while the cure sits untested because it would eliminate a billion-dollar treatment market +- A 30-year-old is planning his suicide because his chronic pain makes life unbearable, while better treatments are blocked by bureaucracy + +**This isn't some abstract - it's about human agony that DOES NOT NEED TO EXIST:** +- Every 4 minutes someone dies from a disease we could prevent +- Every day, parents watch their children suffer through treatments that research already shows don't work +- Right now, someone is being told "there's nothing more we can do" for a disease that's already been cured in lab mice +- People are dying in America from diseases that are already being successfully treated in other countries +- Your loved ones will suffer and die from preventable diseases because the system makes more money from treatment than cures + +The tragedy isn't just that people are suffering - it's that we have the capability to prevent much of this suffering, but our current system actively blocks solutions that could help. + +## The World We Could Have Tomorrow +We have the capability RIGHT NOW to: +- Reverse aging and prevent most diseases before they start +- Cure rather than just treat most chronic diseases +- Give terminal patients immediate access to promising treatments instead of death sentences +- Stop children from dying of diseases we already know how to cure +- End the practice of bankrupting families to keep their loved ones alive +- Make developing cures more profitable than keeping people sick + +This isn't a fantasy - we have the technology. What we lack is a system that allows it. Right now, **our healthcare system is actively designed to BLOCK these solutions because sick people are more profitable than cured people.** + +This isn't just possible - we have the technology and knowledge to build it today. What's been missing is the collective will and organization to make it happen. + +# The Solution + +## 1. The Blueprint (Where We Want to Go) +The destination is a world without disease, achievable through three foundational pillars: + +### A. Global Decentralized Autonomous FDA +- Automated clinical trials +- Real-time treatment effect tracking +- Ranked lists of effective treatments +- Global data sharing network + +### B. Right to Trial Act +- Universal clinical trial access +- Elimination of regulatory barriers +- Patient empowerment and choice +- Data-driven treatment selection + +### C. Optimized Incentives +- 50/50 Health Savings Sharing Program +- Rewards for prevention and cures +- Affordable access to breakthrough treatments +- Long-term savings tracking + +## 2. The Roadmap (How We Get There) +The step-by-step journey from our current system to the destination: + +### Phase 1: Building the Foundation +- Create decentralized infrastructure +- Develop treatment tracking systems +- Establish data sharing networks + +### Phase 2: System Transformation +- Replace "Disease Industrial Complex" with "Cures Industrial Complex" +- Transform incentive structures +- Implement savings sharing program + +### Phase 3: Global Implementation +- Conduct global referendum +- Educate policy makers +- Integrate with existing institutions +- Scale successful programs + +## 3. The Gas Money (What Powers the Journey) +Resources and funding strategy to fuel the transformation: + +### Community-Powered Funding +- Decentralized autonomous organization (DAO) structure +- Small individual contributions at scale +- Target: $2B+ through $1 contributions from chronic disease sufferers +- Exceeds current lobbying spending by status quo ($700M/year) + +### Sustainable Resource Allocation +- Trustless pooling of resources +- Transparent fund management +- Incentivized participation system +- Referral and contribution rewards + +### Strategic Investment +- Infrastructure development +- Policy advocacy +- Public education +- Technology implementation + +This three-part structure provides a clear vision (Blueprint), practical implementation plan (Roadmap), and sustainable funding mechanism (Gas Money) to achieve a world without disease. + +# Incentivized Actions for Collective Intelligence + +## Growth & Network Building +| Action | Impact | Estimated Reward | +|---------------------------------------|------------------------|------------------| +| Refer new member who contributes $1+ | Grows movement | $0.50/referral | +| Get medical professional to join | Adds credibility | $50 | +| Get researcher to join | Expands knowledge base | $100 | +| Get institution to partner | Increases reach | $1,000 | +| Get politician/policymaker to support | Advances policy goals | $5,000 | + +## Knowledge Building & Research +| Action | Impact | Estimated Reward | +|-----------------------------------------------------|--------------------------|------------------| +| Document a regulatory barrier | Identifies obstacles | $10 | +| Submit research paper analysis | Expands evidence base | $50 | +| Identify promising treatment blocked by regulations | Highlights opportunities | $100 | +| Create case study of preventable suffering | Builds evidence base | $25 | +| Submit cost analysis of blocked treatment | Economic evidence | $200 | +| Document successful treatment from another country | Shows alternatives | $150 | + +## Technical Development +| Action | Impact | Estimated Reward | +|------------------------------------------------|-----------------------|------------------| +| Fix bug in platform | Improves system | $50-500 | +| Add new feature | Enhances capabilities | $100-1000 | +| Create integration with existing health system | Expands reach | $500-5000 | +| Improve data analysis algorithms | Better insights | $200-2000 | +| Deploy smart contract improvement | Better automation | $300-3000 | + +## Content Creation & Education +| Action | Impact | Estimated Reward | +|--------------------------------------------|----------------------------|------------------| +| Create educational content | Spreads awareness | $25-250 | +| Translate content to new language | Expands reach | $50/1000 words | +| Create visualization of problems/solutions | Improves understanding | $100 | +| Document success story | Builds momentum | $50 | +| Create policy brief | Influences decision makers | $500 | + +## Community Building & Governance +| Action | Impact | Estimated Reward | +|-------------------------------|-------------------|------------------| +| Moderate community discussion | Maintains quality | $20/hour | +| Organize local meetup | Builds grassroots | $100/event | +| Lead working group | Drives progress | $200/month | +| Draft governance proposal | Improves system | $300 | +| Get proposal approved | Advances mission | $1000 | + +## Data Collection & Analysis +| Action | Impact | Estimated Reward | +|---------------------------------|----------------------|------------------| +| Submit personal health data | Expands database | $10/month | +| Validate treatment outcome data | Improves accuracy | $1/validation | +| Identify treatment correlation | New insights | $100 | +| Create predictive model | Better decisions | $500 | +| Complete comparative analysis | Better understanding | $300 | + +## Policy & Advocacy +| Action | Impact | Estimated Reward | +|----------------------------|-----------------|------------------| +| Contact representative | Builds pressure | $10/contact | +| Get media coverage | Spreads message | $100-1000 | +| Organize advocacy campaign | Drives change | $500-5000 | +| Draft policy proposal | Advances goals | $1000 | +| Get policy adopted | Creates change | $10000 | + +## System Development +| Action | Impact | Estimated Reward | +|-----------------------------|----------------------|------------------| +| Identify system improvement | Better process | $50 | +| Document new use case | Expands utility | $100 | +| Create automation tool | Increases efficiency | $500 | +| Build new platform feature | Enhances capability | $1000 | +| Design system integration | Expands reach | $2000 | + +## Metrics & Tracking +- All actions verified through platform +- Rewards paid in DAO tokens +- Token value tied to system adoption and success +- Reputation system tracks contribution history +- Multipliers for high-impact or difficult actions +- Bonus rewards for exceeding goals +- Team rewards for collaborative actions + +## Progressive Engagement +- Start with simple actions (referrals, data sharing) +- Build to more complex contributions (development, policy) +- Reward increases with contribution value +- Recognition system for top contributors +- Path to leadership roles +- Governance rights based on contribution + +This incentive structure is: +- Self-scaling (rewards grow with impact) +- Self-directing (higher rewards for higher value) +- Self-correcting (community governance) +- Impact-focused (tied to mission goals) +- Transparent (clear metrics) +- Automated (smart contract based) \ No newline at end of file diff --git a/clinical-trials/deleteEmptyFolders.js b/clinical-trials/deleteEmptyFolders.js new file mode 100644 index 00000000..5f159ae1 --- /dev/null +++ b/clinical-trials/deleteEmptyFolders.js @@ -0,0 +1,44 @@ +// JavaScript +// deleteEmptyFolders.js + +const fs = require('fs'); +const path = require('path'); + +/** + * Recursively delete empty folders starting from a given directory. + * @param {string} dirPath - Path to the directory to check. + */ +function deleteEmptyFolders(dirPath) { + // Check if the directory exists + if (!fs.existsSync(dirPath)) { + console.log(`Directory not found: ${dirPath}`); + return; + } + + // Read contents of the current directory + let fileNames = fs.readdirSync(dirPath); + + // Remove empties or recurse into subfolders first + for (const fileName of fileNames) { + const currentPath = path.join(dirPath, fileName); + const stats = fs.statSync(currentPath); + + // If this is a directory, recurse + if (stats.isDirectory()) { + deleteEmptyFolders(currentPath); + } + } + + // After processing subfolders, get the updated list of entries + fileNames = fs.readdirSync(dirPath); + + // If the directory is now empty, delete it + if (fileNames.length === 0) { + fs.rmdirSync(dirPath); + console.log(`Deleted empty folder: ${dirPath}`); + } +} + +// Example usage: +// Replace "../path/to/directory" with the actual path of the folder you want to scan +deleteEmptyFolders("."); \ No newline at end of file diff --git a/community_directory/CONTRIBUTING.md b/community_directory/CONTRIBUTING.md new file mode 100644 index 00000000..34159fe5 --- /dev/null +++ b/community_directory/CONTRIBUTING.md @@ -0,0 +1,55 @@ +# Contributing to the FDAi Community Directory + +Thank you for your interest in contributing to the FDAi Community Directory. This document provides guidelines for contributing to the FDAi project. By participating in this project, you agree to abide by its terms. + +## How to Contribute + +### Getting Started +1. Familiarize yourself with the FDAi Community Directory by reading the main `README.md`. +2. Decide where your contribution fits in the directory structure. + +### Making Contributions +1. Fork the repository to your GitHub account. +2. Clone your fork to your local machine. +3. Create a new branch for your contribution. +4. Make your changes in your branch. +5. Commit your changes with a clear and descriptive commit message. +6. Push your changes to your fork on GitHub. +7. Submit a pull request to the main repository. + +### Pull Requests +- Ensure that your pull request adheres to the provided templates when applicable. +- Describe the changes you have made in detail and link any relevant issues. +- Pull requests will be reviewed by the community and maintainers for quality and relevance. + +### Using Templates +- Use the `templates/project_proposal.md` for project proposals. +- Use the `templates/partner_introduction.md` for introducing new partners. +- Follow the structure and prompts provided in the templates to ensure consistency. + +### Issues +- Use the GitHub issue tracker to report problems, propose ideas, or request new collaborations. +- Before creating a new issue, please check to see if an existing issue addresses your concern. +- Be specific and provide as much detail as possible in your issue. + +## Code of Conduct +- Be respectful of other contributors. +- Engage in constructive dialogue. +- Avoid sharing any personal or sensitive information. +- Follow the ethical guidelines and best practices of your field. + +## Updating Your Contributions +- Keep your content up-to-date with any new developments or changes. +- Regularly check your pull requests and issues for any feedback or required changes. + +## Contact Information +- For general inquiries or assistance, please reach out to the FDAi project maintainers at [contact@email.com]. +- For specific collaboration requests, use the contact information provided on the partner's Markdown page in the respective folder. + +## Additional Guidelines +- Ensure that your contributions are accessible and easy to understand. +- Do not include any proprietary, confidential, or sensitive information in your contributions. +- Encourage community engagement by participating in discussions and sharing your expertise. + +By following these guidelines, you help to maintain the quality and integrity of the FDAi Community Directory. We look forward to your valuable contributions and thank you for helping to advance the goals of the FDAi. + diff --git a/community_directory/README.md b/community_directory/README.md new file mode 100644 index 00000000..04f3cd78 --- /dev/null +++ b/community_directory/README.md @@ -0,0 +1,52 @@ +# FDAi Community Directory + +Welcome to the FDAi Community Directory! This repository is designed to facilitate collaboration and organization among various stakeholders involved in the FDAi project. Our goal is to create an open, transparent, and efficient ecosystem where partners from different sectors can come together to contribute to the advancement of decentralized health regulatory processes. + +## How to Navigate the Directory + +The directory is structured into several high-level folders, each catering to different partner groups and aspects of the project. Here's a brief overview of what you can find in each: + +- `/partners`: Contains information pertinent to all partners involved in the FDAi. +- `/researchers`: Dedicated to academic and medical researchers contributing to the project. +- `/healthcare_providers`: For hospitals, clinics, and health apps to share and access relevant information. +- `/developers`: A space for software developers, data scientists, and AI experts to collaborate. +- `/regulatory_legal`: For regulatory experts and legal advisors to discuss and share insights. +- `/patient_advocacy`: Where patient advocacy groups and NGOs can contribute and find resources. +- `/industry_stakeholders`: For pharmaceutical companies, insurance companies, and other industry players. +- `/community_volunteers`: A place for individual contributors and volunteers to get involved. +- `/funding_sources`: Information about and from investors, grant agencies, and other funding bodies. +- `/projects`: Specific project descriptions, requirements, and collaboration opportunities. +- `/resources`: Shared resources, guides, tools, documentation, coding standards, and data handling protocols. +- `/contributing`: Guidelines on how to contribute to the project, including a code of conduct and contact information. + +Each main folder contains a `README.md` file that describes the purpose of the folder and provides instructions on how to add or modify content. + +## Contributing to the FDAi + +We encourage contributions from all partners. To maintain a high standard of quality and organization, please follow these steps: + +1. Review the `CONTRIBUTING.md` file for detailed instructions on how to contribute. +2. Use pull requests for adding or modifying content, which allows for community review. +3. Utilize the GitHub issue tracker to request new collaborations, propose ideas, or seek assistance. +4. Keep your contributions and contact information up-to-date. + +## Templates + +To standardize submissions and maintain consistency, we provide templates for various types of contributions: + +- `templates/project_proposal.md`: For submitting project proposals. +- `templates/partner_introduction.md`: For introducing new partners to the community. + +## Community Engagement + +We believe in the power of community. Engage with other partners through discussions, webinars, or online meetings to share insights and collaborate on projects. + +## Additional Considerations + +- **Accessibility**: We strive to make this directory intuitive and accessible to all, regardless of their familiarity with GitHub. +- **Privacy and Security**: Exercise caution with personal or sensitive information. Refer to our guidelines for what should and shouldn't be shared. +- **Regular Updates**: The community directory is regularly updated to ensure relevance and usefulness. Partners are encouraged to update their pages as needed. + +Thank you for being a part of the FDAi initiative. Together, we can revolutionize the way health regulatory processes are managed and executed. + +Let's build a healthier future, one contribution at a time. diff --git a/community_directory/community_volunteers/README.md b/community_directory/community_volunteers/README.md new file mode 100644 index 00000000..5c075e07 --- /dev/null +++ b/community_directory/community_volunteers/README.md @@ -0,0 +1,53 @@ +# Community Volunteers Directory + +Welcome to the Community Volunteers section of the FDAi Community Directory! This space is dedicated to individual contributors and volunteers who are looking to get involved with the FDAi project. Your passion, skills, and dedication are invaluable to the success of our initiatives. + +## Purpose of This Folder + +The purpose of this folder is to provide a centralized location where community volunteers can: +- Find information on how to contribute to the FDAi project. +- Share their own expertise and resources. +- Connect with other volunteers and project teams. + +## Getting Involved + +If you're interested in contributing as a community volunteer, here's how you can get started: + +1. Read the main `README.md` file in the root directory to understand the overall structure and goals of the FDAi project. +2. Check out the `CONTRIBUTING.md` file for detailed instructions on how to make contributions. +3. Explore the subfolders and `README.md` files of other partner groups to see where your skills and interests align. + +## How to Add or Modify Content + +To add or modify content in this directory: + +1. Fork the repository to your own GitHub account. +2. Create a new branch for your contributions. +3. Add your Markdown page or modify existing content within this folder. +4. Submit a pull request with a clear description of your changes or additions. + +Please ensure that your contributions are clear, concise, and relevant to the FDAi project. For any substantial changes or new proposals, consider opening an issue first to discuss your ideas with the community. + +## Markdown Pages + +We encourage each volunteer to create a Markdown page in this folder with the following information: + +- A brief introduction of yourself and your professional background. +- Your role and interest in the FDAi project. +- How you wish to contribute and areas of expertise you can offer. +- Contact information or preferred method of communication. + +## Templates + +For consistency and ease of understanding, please use the templates provided in the `/templates` directory when creating new content. This helps maintain a standard format and makes it easier for others to engage with your contributions. + +## Stay Updated + +Regularly visit this directory to stay updated on new opportunities and information. We also encourage you to update your Markdown page as needed to reflect any changes in your involvement or contact details. + +## Community Engagement + +We believe in the power of community. Engage with other volunteers and partners through discussions, webinars, or online meetings. Your active participation helps to foster a collaborative environment and drives the project forward. + +Thank you for your interest and willingness to contribute as a community volunteer. Together, we can make a significant impact on the future of decentralized health regulatory processes. + diff --git a/community_directory/developers/README.md b/community_directory/developers/README.md new file mode 100644 index 00000000..df6c7376 --- /dev/null +++ b/community_directory/developers/README.md @@ -0,0 +1,60 @@ +# Developers Directory + +Welcome to the Developers Directory of the FDAi Community Directory. This space is dedicated to software developers, data scientists, AI experts, and anyone involved in the technical development and data analysis aspects of the FDAi project. Here, you can collaborate, share your expertise, and contribute to the development of tools and applications that support the FDAi's mission. + +## Purpose of This Folder + +The purpose of this folder is to serve as a central hub for developers to: + +- Share and access technical documentation. +- Collaborate on software development projects. +- Discuss best practices and coding standards. +- Contribute to the creation and maintenance of FDAi's technical infrastructure. + +## How to Add or Modify Content + +To add or modify content in this directory: + +1. Fork the FDAi Community Directory repository to your GitHub account. +2. Create a new branch for your contributions. +3. Add your content or make modifications within the `developers` folder. +4. Submit a pull request with a clear description of your changes or additions. + +Please refer to the `CONTRIBUTING.md` file for more detailed instructions on how to contribute to the project. + +## Getting Involved + +If you are a developer interested in contributing to the FDAi project, here are some steps to get started: + +1. Introduce yourself by creating a Markdown page within this folder with your name or your organization's name as the filename. +2. On your page, include: + - An introduction of yourself or your organization. + - Your role and interest in the FDAi project. + - Contact information or how you wish to be engaged. +3. Review open issues in the repository's issue tracker to see if there are any tasks or discussions you can contribute to. +4. Propose new ideas or projects by opening a new issue or submitting a project proposal using the provided template in the `/templates` directory. + +## Table of Contents + +As this folder grows, a table of contents will be maintained here to help you navigate to various documents and resources. + +- [Coding Standards](coding_standards.md) +- [Data Handling Protocols](data_handling_protocols.md) +- [Project Collaboration Guidelines](project_collaboration_guidelines.md) +- [List of Active Projects](active_projects.md) + +## Templates + +For standardizing submissions, please use the following templates: + +- [Project Proposal Template](../templates/project_proposal.md) +- [Developer Introduction Template](../templates/developer_introduction.md) + +These templates are designed to help maintain consistency and clarity across contributions. + +## Community Engagement + +We encourage active discussion and collaboration within the developer community. Feel free to join in on discussions, webinars, or online meetings to share your insights and learn from others. + +Thank you for being a part of the FDAi's developer community. Your contributions are vital to the success of this project. + diff --git a/community_directory/funding_sources/README.md b/community_directory/funding_sources/README.md new file mode 100644 index 00000000..1b3c83b5 --- /dev/null +++ b/community_directory/funding_sources/README.md @@ -0,0 +1,52 @@ +# Funding Sources Directory + +Welcome to the Funding Sources directory of the FDAi Community Directory. This space is dedicated to investors, grant agencies, philanthropic organizations, and any other entities interested in providing financial support for the initiatives within the FDAi project. Here, you can find information about ongoing projects in need of funding, learn about the impact of your contributions, and connect with project leaders. + +## Purpose of this Folder + +The purpose of this folder is to: + +- Provide an overview of funding opportunities within the FDAi project. +- Offer a centralized location for funding entities to explore and engage with various initiatives. +- Facilitate transparent communication between project teams and potential funders. +- Share success stories and updates on how funds are being utilized to drive progress. + +## How to Use this Folder + +If you are a funding source interested in supporting the FDAi project, please follow these steps: + +1. Review the `README.md` files in the `/projects` directory to understand the scope and needs of current initiatives. +2. Create a Markdown page in this folder with the following information: + - An introduction to your organization and its mission. + - The types of projects or research you are interested in funding. + - Your preferred method of contact and any specific collaboration requirements. +3. Submit a pull request with your Markdown page for review by the FDAi community. + +For project teams seeking funding: + +1. Ensure that your project's needs and goals are clearly documented in the `/projects` directory. +2. Use the issue tracker to signal specific funding needs and to connect with potential funders. + +## Adding or Modifying Content + +To add or modify content in this directory: + +1. Fork the repository to your own GitHub account. +2. Make the changes in your forked repository. +3. Submit a pull request with a clear description of your changes for review. + +Please refer to the `CONTRIBUTING.md` file for more detailed instructions on contributing to the FDAi Community Directory. + +## Templates + +For consistency and ease of understanding, we encourage the use of templates provided in the `/templates` directory. These templates can help you structure your introduction and funding proposals. + +## Regular Updates + +We encourage funding sources to regularly update their pages with new information, opportunities, or changes in funding strategy. This ensures that project teams have access to the most current information. + +## Contact + +For any questions or assistance, please open an issue in the repository's issue tracker, and a member of the FDAi community will get in touch. + +Thank you for your interest in supporting the FDAi project. Your contributions are vital to the success and advancement of decentralized health regulatory processes. diff --git a/community_directory/healthcare_providers/README.md b/community_directory/healthcare_providers/README.md new file mode 100644 index 00000000..f996e1eb --- /dev/null +++ b/community_directory/healthcare_providers/README.md @@ -0,0 +1,49 @@ +# Healthcare Providers Directory + +Welcome to the Healthcare Providers directory of the FDAi Community Directory. This space is dedicated to hospitals, clinics, health apps, and other healthcare service providers who are integral to the implementation and success of the FDAi project. + +## Purpose of this Folder + +The purpose of this folder is to serve as a central hub for healthcare providers to share information, collaborate on projects, and access resources that are pertinent to their role in the FDAi. This includes, but is not limited to, clinical data, patient care protocols, integration of health technologies, and insights into patient experiences. + +## How to Contribute + +If you are a healthcare provider and wish to contribute to the FDAi, please follow the steps below: + +1. Read the main `README.md` file at the root of the repository to understand the overall structure and goals of the FDAi Community Directory. +2. Familiarize yourself with the `CONTRIBUTING.md` guidelines to ensure a smooth contribution process. +3. Create a Markdown page within this folder to introduce your organization and detail your role and interest in the FDAi project. Include contact information or preferred methods of engagement. +4. If you have specific projects or resources to share, consider adding them to the `/projects` or `/resources` directories, respectively. + +## Adding or Modifying Content + +To add or modify content in this directory: + +1. Fork the repository to your own GitHub account. +2. Make your changes in your forked repository. +3. Submit a pull request with a clear description of your changes. +4. Your pull request will be reviewed by the community maintainers and merged upon approval. + +## Folder Contents + +- `README.md`: This file, which provides information and guidance for healthcare providers. +- Additional Markdown pages: Created by healthcare providers to introduce their organizations and outline their contributions. + +## Templates + +For standardizing submissions, please use the templates provided in the `/templates` directory. This will help maintain consistency and clarity across all contributions. + +## Pull Requests and Issues + +We encourage the use of pull requests for adding content and suggest using issues to propose new ideas, request collaborations, or seek assistance from the community. + +## Regular Updates + +We aim to keep the directory up-to-date. Healthcare providers are encouraged to regularly update their pages and contributions to reflect any new developments or changes in their organization's involvement with the FDAi. + +## Contact + +For any questions or assistance, please refer to the contact information provided in the `CONTRIBUTING.md` file. + +Thank you for your participation and contribution to the FDAi project. Together, we can revolutionize the way healthcare is regulated and delivered. + diff --git a/community_directory/industry_stakeholders/README.md b/community_directory/industry_stakeholders/README.md new file mode 100644 index 00000000..c29e0be3 --- /dev/null +++ b/community_directory/industry_stakeholders/README.md @@ -0,0 +1,41 @@ +# Industry Stakeholders Directory + +Welcome to the Industry Stakeholders Directory of the FDAi Community Directory. This section is dedicated to pharmaceutical companies, insurance companies, biotech firms, medical device manufacturers, and other key players in the healthcare industry. Your expertise, resources, and insights are invaluable to the success of the FDAi project. + +## Purpose of this Folder + +The purpose of this folder is to provide a centralized location where industry stakeholders can share their contributions, find relevant information, and collaborate with other partners in the FDAi ecosystem. This includes but is not limited to: + +- Sharing industry-specific research and development updates. +- Providing insights into regulatory compliance from an industry perspective. +- Discussing challenges and opportunities in adopting decentralized FDA processes. +- Collaborating on projects that align with industry interests and the goals of the FDAi. + +## How to Get Involved + +To get involved and contribute to the FDAi project as an industry stakeholder: + +1. Review the main `README.md` and `CONTRIBUTING.md` files to understand the overall structure and contribution guidelines of the FDAi Community Directory. +2. Create a Markdown page within this folder to introduce your organization, detailing your role, interests, and how you wish to contribute to the FDAi project. +3. Use the provided templates in the `/templates` folder to standardize your submissions, such as project proposals or partnership introductions. +4. Engage with other partners through pull requests and the issue tracker to propose new ideas, request collaborations, or offer assistance. + +## Adding or Modifying Content + +To add or modify content in this directory: + +1. Fork the repository to your own GitHub account. +2. Make your changes or additions in your forked repository. +3. Submit a pull request with a clear description of your proposed changes. +4. Your pull request will be reviewed by the community maintainers and, if accepted, merged into the main directory. + +## Contact Information + +For any questions or to seek further assistance, please refer to the contact information provided in the `/contributing` folder. + +## Table of Contents + +As this folder grows, a table of contents will be maintained here to provide easy navigation to various contributions and information within the Industry Stakeholders Directory. + +Thank you for your participation and contribution to the FDAi project. Together, we can shape the future of decentralized health regulatory processes. + diff --git a/community_directory/open-source-projects/open-source-projects.md b/community_directory/open-source-projects/open-source-projects.md new file mode 100644 index 00000000..c19d3e3b --- /dev/null +++ b/community_directory/open-source-projects/open-source-projects.md @@ -0,0 +1,13 @@ +# Open Source Projects to Accelerate Clinical Discovery + +## Introduction + +The goal of the FDAi is to coordinate between open-source projects to accelerate clinical discovery. We can only do this if we know what projects are out there. This page is a list of open-source projects that are relevant to the FDAi's mission. If you know of any projects that should be added to this list, please add your project to this list and [submit a pull request](/docs/contributing.md). + +## Projects + +Please add a file to this folder with your open-source project using [this template](../templates/open_source_project.md). + + + + diff --git a/community_directory/partners/README.md b/community_directory/partners/README.md new file mode 100644 index 00000000..90d97d6a --- /dev/null +++ b/community_directory/partners/README.md @@ -0,0 +1,48 @@ +# Partners Directory + +Welcome to the `/partners` directory of the FDAi Community Directory. This section serves as a central hub for all partner-related information, facilitating collaboration and communication among various stakeholders involved in the FDAi project. + +## Purpose of the Partners Directory + +The purpose of this directory is to provide a space where partners can: + +- Introduce their organization and their role in the FDAi project. +- Share their interests and how they wish to contribute to the project. +- Find contact information and engagement details for other partners. + +## How to Use This Directory + +To ensure effective collaboration and organization, we encourage each partner to create a Markdown page within this directory. The page should include: + +- An introduction to the partner or organization. +- A description of their role and interest in the FDAi project. +- Preferred contact information or instructions on how they wish to be engaged. + +### Adding or Modifying Content + +1. Review the main `README.md` and `CONTRIBUTING.md` files to understand the overall structure and contribution guidelines. +2. To add or modify content in this directory: + - Fork the repository to your GitHub account. + - Clone your fork to your local machine and create a new branch for your changes. + - Add your Markdown page or make modifications within the `/partners` directory. + - Submit a pull request with a clear description of your changes for review. + +### Templates + +For standardizing submissions, please use the provided templates in the `/templates` directory. This includes templates for partner introductions and project proposals. + +## Directory Maintenance + +- This directory will be regularly updated to ensure it remains relevant and useful for all partners. +- Partners are encouraged to update their pages as needed to reflect current information and interests. + +## Table of Contents + +As this directory grows, a table of contents will be maintained here to provide easy navigation to various partner pages. + +## Additional Information + +For any questions or assistance, please refer to the `CONTRIBUTING.md` file or use the GitHub issue tracker to reach out to the FDAi community. + +Thank you for being a part of the FDAi initiative. Your collaboration is vital to the success of this project. + diff --git a/community_directory/patient_advocacy/README.md b/community_directory/patient_advocacy/README.md new file mode 100644 index 00000000..79e30949 --- /dev/null +++ b/community_directory/patient_advocacy/README.md @@ -0,0 +1,53 @@ +# Patient Advocacy Directory + +Welcome to the Patient Advocacy directory of the FDAi Community Directory. This space is dedicated to patient advocacy groups, non-governmental organizations (NGOs), and other entities that represent the interests and rights of patients. Your contributions are vital to ensuring that the FDAi addresses the needs and concerns of patients effectively. + +## Purpose of This Folder + +The purpose of this folder is to: +- Serve as a central hub for patient advocacy groups and NGOs to share information and resources. +- Facilitate collaboration between patient advocates and other stakeholders in the FDAi. +- Provide a platform for discussing patient-centric issues and solutions within the regulatory framework. + +## How to Get Involved + +To get involved and contribute to this directory: +1. Review the main `README.md` file in the root directory to understand the overall structure and goals of the FDAi Community Directory. +2. Familiarize yourself with the `CONTRIBUTING.md` guidelines to ensure a smooth contribution process. + +### Adding Content +1. Create a Markdown page within this folder to introduce your organization and outline your role and interests in the FDAi project. +2. Include contact information or preferred methods of engagement so that other partners can reach out for collaboration. + +### Modifying Content +1. If you need to update information on an existing page, use pull requests to submit your changes for review. +2. Ensure that any modifications align with the goals of the FDAi and benefit the patient advocacy community. + +## Readme Contents + +- Introduction to the Patient Advocacy directory. +- Instructions for adding new content or modifying existing content. +- Contact information for directory maintainers or lead patient advocacy partners. + +## Templates + +For standardizing submissions, please use the following templates located in the `/templates` directory: +- `partner_introduction.md`: Template for introducing new patient advocacy partners to the community. +- `project_proposal.md`: Template for proposing new projects or initiatives that require collaboration. + +## Pull Requests and Issue Tracking + +- To add or modify content, submit a pull request with your proposed changes. +- Use the GitHub issue tracker to request new collaborations, propose ideas, or seek assistance from the community. + +## Regular Updates + +We encourage all partners to regularly update their pages to reflect current activities, interests, and contact information. Keeping the directory up-to-date ensures that it remains a valuable resource for everyone involved. + +## Additional Information + +- Please be mindful of privacy and security when sharing personal or sensitive information. +- Engage with the community through discussions, webinars, or online meetings to further patient advocacy initiatives. + +Thank you for your dedication to patient advocacy and for contributing to the FDAi project. Together, we can make a significant impact on the future of health regulatory processes. + diff --git a/community_directory/projects/README.md b/community_directory/projects/README.md new file mode 100644 index 00000000..6d68ba6f --- /dev/null +++ b/community_directory/projects/README.md @@ -0,0 +1,46 @@ +# Projects Directory + +Welcome to the Projects Directory of the FDAi Community Directory. This space is dedicated to housing specific project descriptions, requirements, and collaboration opportunities that are part of the FDAi initiative. Here, you can find detailed information about ongoing and upcoming projects, as well as how you can contribute to them. + +## Purpose of the Projects Directory + +The Projects Directory serves as a centralized location where all stakeholders can access and contribute to the various projects under the FDAi umbrella. It is designed to: + +- Provide clear and concise project descriptions. +- Outline the requirements and goals for each project. +- Facilitate collaboration between partners, researchers, healthcare providers, developers, and other stakeholders. +- Offer a platform for sharing updates and progress on projects. + +## How to Navigate and Contribute + +To get involved with a project or to propose a new one, please follow these steps: + +1. Review the existing projects listed in this directory to find one that aligns with your interests and expertise. +2. If you wish to contribute to an existing project, check the project's specific `README.md` for contribution guidelines. +3. To propose a new project, use the template provided in `/templates/project_proposal.md` to create a structured and comprehensive proposal. +4. Submit your proposal or contribution as a pull request, and it will be reviewed according to the guidelines outlined in `CONTRIBUTING.md`. + +## Adding or Modifying Project Content + +- To add a new project, create a subfolder within this directory with a relevant name and include a `README.md` that follows the provided template. +- To modify an existing project, make changes to the relevant files within the project's subfolder and submit a pull request. + +## Project Templates + +Templates are available to standardize submissions and maintain consistency across the directory: + +- `project_proposal.md`: A template for submitting new project proposals. +- `partner_introduction.md`: A template for partners to introduce themselves and their role in a project. + +Please use these templates as a starting point for your submissions to ensure all necessary information is included. + +## Staying Updated + +Regular updates to the Projects Directory are crucial to keep all stakeholders informed. We encourage project leads and contributors to periodically review and update their project pages to reflect the latest developments and statuses. + +## Questions and Assistance + +If you have any questions or need assistance with navigating the Projects Directory, proposing a project, or making contributions, please refer to the `CONTRIBUTING.md` file or use the GitHub issue tracker to reach out for support. + +Thank you for your contributions and for being a part of the FDAi community. Together, we can drive innovation and progress in the decentralized health regulatory space. + diff --git a/community_directory/regulatory_legal/README.md b/community_directory/regulatory_legal/README.md new file mode 100644 index 00000000..3a13a536 --- /dev/null +++ b/community_directory/regulatory_legal/README.md @@ -0,0 +1,49 @@ +# Regulatory and Legal Partners Directory + +Welcome to the Regulatory and Legal Partners section of the FDAi Community Directory. This folder is dedicated to regulatory experts, legal advisors, and anyone involved in the legal and regulatory aspects of healthcare and pharmaceuticals. Here, we share insights, discuss regulatory frameworks, and collaborate on ensuring that the FDAi operates within legal boundaries while fostering innovation. + +## Purpose of this Folder + +The purpose of this folder is to: +- Serve as a central hub for regulatory and legal partners to find and share information. +- Provide a space for discussion on regulatory challenges and solutions in the context of decentralized health technologies. +- Facilitate collaboration on the development of legal frameworks that support the FDAi's mission. + +## How to Get Involved + +If you are a regulatory expert or legal advisor and wish to contribute to the FDAi, please follow these steps: + +1. Read the main `README.md` file in the root directory to understand the overall structure and goals of the FDAi Community Directory. +2. Familiarize yourself with the `CONTRIBUTING.md` guidelines to understand how to make contributions to the project. +3. Create a Markdown page within this folder with an introduction of yourself or your organization, detailing your role, interests, and how you wish to contribute to the FDAi. +4. Use pull requests to submit your Markdown page or any other contributions to this folder for review. + +## Contents of this Folder + +- Introduction pages of regulatory and legal partners. +- Discussions on regulatory challenges and legal considerations. +- Collaborative documents on legal frameworks and regulatory compliance. + +## Adding or Modifying Content + +To add or modify content in this folder: + +1. Fork the repository to your own GitHub account. +2. Make your changes in your forked repository. +3. Submit a pull request with a clear description of your changes. +4. Your pull request will be reviewed by the community and, if accepted, merged into the directory. + +## Templates + +For standardizing submissions, please use the following templates located in the `/templates` directory: +- `partner_introduction.md` for introducing new regulatory and legal partners. + +## Contact + +For any questions or to seek assistance, please use the GitHub issue tracker to open an issue, or reach out to the community maintainers listed in the main `README.md` file. + +## Stay Updated + +We encourage all partners to keep their pages and contributions up-to-date. Regular updates ensure that the directory remains a valuable and current resource for all stakeholders. + +Thank you for your contributions and for helping to shape the future of decentralized health regulation. diff --git a/community_directory/researchers/README.md b/community_directory/researchers/README.md new file mode 100644 index 00000000..0eac15dc --- /dev/null +++ b/community_directory/researchers/README.md @@ -0,0 +1,47 @@ +# Researchers Directory + +Welcome to the Researchers Directory of the FDAi Community Directory. This space is dedicated to academic and medical researchers who are contributing their expertise and knowledge to the FDAi project. Here, you can find collaborations, share findings, and access resources that are pertinent to the research community within the FDAi ecosystem. + +## Purpose of this Folder + +The purpose of this folder is to: +- Serve as a central hub for researchers to find and share information. +- Facilitate collaboration between researchers and other stakeholders in the FDAi project. +- Provide a repository of research materials, publications, and data sets that can be used to support the FDAi's objectives. + +## How to Add or Modify Content + +To add or modify content in this directory: +1. Read the `CONTRIBUTING.md` file in the root of the repository to understand the contribution process. +2. Fork the repository to your own GitHub account. +3. Add your content or make your modifications within the appropriate subfolder or Markdown file. +4. Submit a pull request with a clear description of your changes or additions. + +## Table of Contents + +As this directory grows, a table of contents will be maintained here to help you quickly navigate to different sections or documents. + +- [Research Publications](#research-publications) +- [Collaboration Opportunities](#collaboration-opportunities) +- [Data Sets](#data-sets) +- [Events and Webinars](#events-and-webinars) + +## Getting Involved + +If you are a researcher interested in contributing to the FDAi, please create a Markdown page in this folder with the following information: +- An introduction of yourself and your research focus. +- Your role and interest in the FDAi project. +- Contact information or how you wish to be engaged. + +Please use the `templates/partner_introduction.md` as a guide for creating your page. + +## Resources for Researchers + +This section will contain links to resources such as research tools, data analysis software, and guidelines for best practices in medical and academic research within the context of the FDAi. + +## Contact + +For any questions or to seek assistance, please use the GitHub issue tracker to reach out to the community or contact the repository maintainers directly. + +Thank you for your contributions and for being an integral part of the FDAi's mission to revolutionize health regulatory processes through decentralization. + diff --git a/community_directory/resources/README.md b/community_directory/resources/README.md new file mode 100644 index 00000000..0cf0dfed --- /dev/null +++ b/community_directory/resources/README.md @@ -0,0 +1,42 @@ +# Resources Directory + +Welcome to the `/resources` directory of the FDAi Community Directory. This space is dedicated to providing shared resources, guides, tools, documentation, coding standards, and data handling protocols that are essential for the collaboration and development of the FDAi project. + +## Purpose of the Resources Directory + +The purpose of this directory is to serve as a central hub for all the materials that partners across various sectors may need to effectively contribute to the FDAi. It is designed to ensure that everyone has access to the same information, which is crucial for maintaining consistency and quality in our collaborative efforts. + +## What You Will Find Here + +In this directory, you will find a variety of resources that can help you understand the project's technical aspects, coding practices, and other relevant guidelines. These resources are meant to assist you in creating contributions that align with the project's standards and objectives. + +- **Guides**: Step-by-step instructions and best practices for various tasks and processes within the project. +- **Tools**: Software and utilities that can aid in development, research, and collaboration. +- **Documentation**: Detailed descriptions of the project's architecture, components, and systems. +- **Coding Standards**: Conventions and style guides to follow when writing code for the FDAi. +- **Data Handling Protocols**: Guidelines for managing, storing, and sharing data securely and responsibly. + +## How to Add or Modify Content + +To add or modify content in the `/resources` directory: + +1. Check the existing materials to avoid duplication. +2. If you're adding a new resource, ensure it is relevant and beneficial to the FDAi community. +3. Follow the contribution process outlined in the `CONTRIBUTING.md` file at the root of the repository. +4. Use clear and descriptive commit messages to explain what changes you've made. +5. Submit a pull request with your changes for review. + +## Contributing Your Resources + +If you have a resource that you believe would be valuable to the FDAi community, we encourage you to share it. Please ensure that any resources you contribute are appropriately licensed and do not contain sensitive or proprietary information. + +## Keeping Resources Up-to-Date + +The effectiveness of our resources depends on their relevance and accuracy. We encourage contributors to regularly review and update their submissions to reflect the latest developments and best practices. + +## Need Help? + +If you have questions or need assistance with adding resources, please refer to the `CONTRIBUTING.md` file for guidance on how to get help. + +Thank you for contributing to the FDAi project and for helping to build a comprehensive resource library for all partners involved. + diff --git a/community_directory/templates/open_source_project.md b/community_directory/templates/open_source_project.md new file mode 100644 index 00000000..073bc216 --- /dev/null +++ b/community_directory/templates/open_source_project.md @@ -0,0 +1,32 @@ +# Project Name + +## Description + +[Provide a brief description of your open-source project.] + +## GitHub Repository + +- Repository Link: [GitHub Repository](https://github.com/your-username/your-project) +- License: [Specify the project's open-source license, e.g., MIT, Apache 2.0, etc.] + +## Project Features (if applicable) + +- [List key features or functionalities of your project.] + +## How to Contribute + +[Provide instructions for potential contributors on how they can get involved with your project. Include details about setting up the development environment, coding guidelines, and how to submit pull requests.] + +## How to Donate (if applicable) + +[Provide instructions for potential donors on how they can donate to your project. Include details about the donation process, how the funds will be used, and any other relevant information.] + +## Contact Information + +- Project Maintainer: [Provide the name and contact information of the project maintainer(s).] +- Project Website: [If applicable, include a link to the project's website.] + +## Additional Resources + +[Include any additional resources, documentation, or relevant links related to your project.] + diff --git a/community_directory/templates/partner_introduction.md b/community_directory/templates/partner_introduction.md new file mode 100644 index 00000000..7be90a7d --- /dev/null +++ b/community_directory/templates/partner_introduction.md @@ -0,0 +1,49 @@ +# Partner Introduction Template + +Welcome to the FDAi Community Directory! This template is designed to help partners introduce themselves to the community. By providing consistent and structured information about each partner, we can foster better collaboration and understanding across the FDAi ecosystem. + +Please copy this template into your respective folder (e.g., `/researchers`, `/healthcare_providers`, etc.), fill it out with your information, and submit it as a Markdown file. If you're not familiar with Markdown, you can find a quick guide [here](https://www.markdownguide.org/basic-syntax/). + +## Introduction + +- **Name of Partner/Organization:** +- **Type of Partner:** (e.g., Researcher, Healthcare Provider, Developer, Regulatory/Legal Expert, Patient Advocacy Group, Industry Stakeholder, Community Volunteer, Funding Source) +- **Website:** (if applicable) +- **Location:** (City, Country) +- **GitHub URL:** (if applicable) + +## About + +Provide a brief description of your organization or individual background, your mission, and the work you do. Include any relevant achievements or projects that highlight your experience in the field related to the FDAi. + +## Role and Interest in the FDAi Project + +Describe your role and interest in the FDAi project. What are your goals, and how do you see yourself contributing to the project? What expertise or resources can you bring to the community? + +## Areas of Expertise + +List your areas of expertise and any specific skills or knowledge that you can contribute to the FDAi project. + +## Collaboration Opportunities + +Mention any specific areas within the FDAi project where you seek collaboration or can offer support. This could include research, development, regulatory guidance, legal advice, patient advocacy, etc. + +## Contact Information + +- **Primary Contact Name:** +- **Position/Title:** +- **Email:** +- **Phone Number:** (optional) +- **Preferred Method of Contact:** (e.g., Email, Phone, LinkedIn) +- **GitHub URL:** (if applicable) + +## How to Engage + +Provide instructions or preferences on how other partners can engage with you. This could include meeting schedules, preferred communication channels, or any other collaboration protocols you have in place. + +By submitting this introduction, you help build a more connected and informed FDAi community. We look forward to your valuable contributions! + +--- + +*Note: Please ensure that you do not share any sensitive or confidential information in this document. Refer to the FDAi Community Directory's privacy and security guidelines for more information.* + diff --git a/community_directory/templates/project_proposal.md b/community_directory/templates/project_proposal.md new file mode 100644 index 00000000..291db232 --- /dev/null +++ b/community_directory/templates/project_proposal.md @@ -0,0 +1,47 @@ +# Project Proposal Template for the FDAi + +Thank you for your interest in proposing a project for the FDAi Community Directory. This template is designed to help you structure your proposal in a clear and consistent manner. Please fill out each section with as much detail as possible to ensure a thorough understanding of your project idea. + +## Project Title +Provide a concise and descriptive title for your project. + +## Abstract +A brief summary of the project, including its purpose and expected impact on the FDAi initiative. + +## Background and Rationale +Explain the context and reasons for proposing this project. Include any relevant data, research findings, or existing problems that this project aims to address. + +## Objectives +List the primary goals and objectives of the project. Be specific about what the project intends to achieve. + +## Scope +Define the scope of the project, including any limitations or boundaries. Clarify what is included and what is out of scope. + +## Methodology +Describe the approach and methods that will be used to achieve the project's objectives. Include any specific technologies, frameworks, or techniques that will be utilized. + +## Timeline +Provide an estimated timeline for the project, including key milestones and deliverables. + +## Budget and Resources +Outline the budget and resources required for the project, including personnel, equipment, and other expenses. + +## Team and Roles +List the members of the project team and their roles. If you are seeking additional collaborators, specify the roles and expertise needed. + +## Expected Outcomes +Detail the expected results and deliverables upon the project's completion. Explain how these outcomes will contribute to the FDAi initiative. + +## Evaluation and Success Criteria +Describe how the success of the project will be measured. Include any metrics or benchmarks that will be used to evaluate the project's impact. + +## Risks and Mitigation Strategies +Identify any potential risks associated with the project and outline strategies to mitigate them. + +## Contact Information +Provide contact details for the project proposer(s) and/or the main point of contact for further discussions. + +--- + +Please ensure that your proposal aligns with the FDAi's mission and values. Once completed, submit your proposal using a pull request as outlined in the `CONTRIBUTING.md` document. We look forward to reviewing your innovative ideas for advancing the FDAi initiative. + diff --git a/components/browser-extension/browser-extension.md b/components/browser-extension/browser-extension.md new file mode 100644 index 00000000..a69cbb12 --- /dev/null +++ b/components/browser-extension/browser-extension.md @@ -0,0 +1,15 @@ +# Browser Extension + +By using the Browser Extension, you can track your mood, symptoms, or any outcome you want to optimize in a fraction of a second using a unique popup interface. + +![Chrome Extension](https://static.crowdsourcingcures.org/dfda/components/browser-extension/browser-extension.png) + +# 💻 Code + +For development, you need to copy manifest-chrome.json into manifest.json and then load the [apps/dfda-1/public/app/public](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/public/app/public) folder as an unpacked extension in Chrome. + +[👉 Code here...](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/public/app/public) + +# 🛟 Support + +If you have any questions or need help, please [create an issue](https://github.com/FDA-AI/FDAi/issues/new) instead of emailing us so that others can benefit from the discussion. diff --git a/components/browser-extension/browser-extension.png b/components/browser-extension/browser-extension.png new file mode 100644 index 00000000..b0942aec Binary files /dev/null and b/components/browser-extension/browser-extension.png differ diff --git a/components/clinipedia/clinipedia.md b/components/clinipedia/clinipedia.md new file mode 100644 index 00000000..2434eb8d --- /dev/null +++ b/components/clinipedia/clinipedia.md @@ -0,0 +1,23 @@ +# The Wikipedia of Clinical Research + +![clinipedia_globe_circle.jpg](https://static.crowdsourcingcures.org/dfda/components/clinipedia/clinipedia_globe_circle.jpg) + +The Clinipedia wiki contains the aggregate of all available data on the effects of every food, drug, supplement, and medical intervention on human health. It requires the following features: + + - **Knowledge Base:** Inspiration could be taken from the Psychonaut Wiki. It's a modified version of MediaWiki with additional quantitative metadata storage regarding the pharmacokinetics of various substances. This could be expanded to document the quantitative effects of every factor on specific health outcomes. + - **Editing Authorization:** A robust authorization mechanism to maintain content integrity and trustworthiness. + - **AI Agent-Powered Research:** Leverage autonomous AI agents to efficiently conduct research by aggregating all available data on factors and outcome populate the wiki. + - **Data Silos Directory:** Compile a comprehensive directory of existing data sources, facilitating integration with the Digital Twin Safe. + - **Reputation Scoring:** Develop a transparent and reliable reputation-weighted voting system for intervention approval. + - **Comparative Policy Analysis** - Aggregate existing approval and certification data from existing national regulatory bodies. For instance, numerous countries have outlawed the use of glyphosate which can harm the gut microbiome. This data could be used to generate a comparative policy analysis to inform the FDA's decision-making process. + - **Food and Drug Outcome Labels** - Ultimately, the most useful output of a decentralized FDA would be [Outcome Labels](../data-analysis/outcome-labels/outcome-labels.md) list the degree to which the product is likely to improve or worsen specific health outcomes or symptoms. These are derived from real-world data (RWD) and subject to Futarchical-weighted review by the board members of the FDAi. [👉 Learn More](../data-analysis/outcome-labels/outcome-labels.md) + - **Publish Meta-Analyses** - Generate meta-analyses from all completed studies at ClinicalTrials.gov + - **Certification of Intervention Manufacturers/Sources** via a Decentralized Web of Trust derived from end-user data and reviews traced back using an NFT-tracked supply chain + - **Intervention Ranking** - Elevate the most promising yet little/known or researched treatments + - **Decentralized Clinical Trial Coordination and Protocols** - Not only would this increase knowledge but also access and availability of new and innovated treatments to those who need them urgently. + +**Potential Implementations, Components or Inspiration** +- [Psychonaut Wiki](https://psychonautwiki.org/wiki/Psychoactive_substance_index) - A modified version of MediaWiki with additional quantitative metadata storage regarding the pharmacokinetics of various substances. +- [Journal of Citizen Science](https://studies.crowdsourcingcures.org/) - Published outcome labels based on analysis of real-world data (RWD) from the [Crowdsourcing Cures](https://crowdsourcingcures.org/). + +![outcome-labels.png](https://static.crowdsourcingcures.org/dfda/components/outcome-labels/outcome-labels.png) diff --git a/components/clinipedia/clinipedia_globe_circle.jpg b/components/clinipedia/clinipedia_globe_circle.jpg new file mode 100644 index 00000000..178dd722 Binary files /dev/null and b/components/clinipedia/clinipedia_globe_circle.jpg differ diff --git a/components/data-analysis/causal-inference-vertical.svg b/components/data-analysis/causal-inference-vertical.svg new file mode 100644 index 00000000..3ed79868 --- /dev/null +++ b/components/data-analysis/causal-inference-vertical.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/components/data-analysis/data-analysis.md b/components/data-analysis/data-analysis.md new file mode 100644 index 00000000..e2566d54 --- /dev/null +++ b/components/data-analysis/data-analysis.md @@ -0,0 +1,135 @@ +--- +title: Causal Inference and Optimal Daily Value Determination +description: How to quantify treatment effects from challenging sparse, irregular time series data with missing values. +published: true +tags: [causal inference, data analysis, treatment effects, time series] +--- + +# 📈 Data Analysis + +The Analytics Engine performs temporal precedence accounting, longitudinal data aggregation, erroneous data filtering, unit conversions, ingredient tagging, and variable grouping to quantify correlations between symptoms, treatments, and other factors. + +It then pairs every combination of variables and identifies likely causal relationships using correlation mining algorithms in conjunction with a pharmacokinetic model. The algorithms first identify the onset delay and duration of action for each hypothetical factor. It then identifies the optimal daily values for each factor. + +![](https://static.crowdsourcingcures.org/dfda/components/data-analysis/data-analysis.png) + +# Determining Treatment Effects from Sparse and Irregular Time Series Data + +## Introduction + +Analyzing the effects of a treatment based on observational time series data is a common need in many domains like medicine, psychology, and economics. However, this analysis often faces several key challenges: + +- The data is **sparse** - there are limited number of observations. +- The data is **irregular** - observations are not at regular time intervals. +- There is **missing data** - many timepoints have no observation. +- The **onset delay** of the treatment effect is unknown. It may take time to appear. +- The **duration** of the treatment effect is unknown. It may persist after cessation. +- Both **acute** (short-term) and **cumulative** (long-term) effects need to be analyzed. +- **Causality** and **statistical significance** need to be established rigorously. +- The **optimal dosage** needs to be determined to maximize benefits. + +This article provides a comprehensive methodology to overcome these challenges and determine whether a treatment makes an outcome metric better, worse, or has no effect based on sparse, irregular time series data with missingness. + +## Data Preprocessing + +Before statistical analysis can begin, the data must be preprocessed: + +- **Resample** the time series to a regular interval if needed while preserving original timestamps. This allows handling missing data. For example, resample to 1 measurement per day. +- **Do not** do interpolation or forward fill to estimate missing values. This introduces incorrect data. Simply exclude those time periods from analysis. +- **Filter out** any irrelevant variances like daily/weekly cycles. For example, detrend the data. + +Proper preprocessing sets up the data for robust analysis. + +## Statistical Analysis Methodology + +With cleaned data, a rigorous methodology can determine treatment effects: + +### Segment Data +First, split the data into three segments: + +- **Pre-treatment** - Period before treatment began +- **During treatment** - Period during which treatment was actively administered +- **Post-treatment** - Period after treatment ended + +This enables separate analysis of the acute and cumulative effects. + +### Acute Effects Analysis + +To analyze **acute** effects, compare the 'during treatment' segment vs the 'pre-treatment' segment: + +- Use interrupted time series analysis models to determine causality. +- Apply statistical tests like t-tests to determine significance. +- Systematically test different onset delays by shifting the 'during treatment' segment start time back incrementally. Account for unknown onset. +- Systematically test excluding various amounts of time after treatment cessation to account for effect duration. +- Look for acute improvements or decrements right after treatment begins based on the models. + +### Cumulative Effects Analysis + +To analyze **cumulative** effects, build regression models between the outcome variable and the cumulative treatment dosage over time: + +- Use linear regression, enforcing causality constraints. +- Apply statistical tests like F-tests for significance. +- Systematically test excluding various amounts of time after treatment cessation to account for effect duration. +- Look for long-term improvements or decrements over time based on the regression models. + +### Overall Effect Determination + +Combine the acute and cumulative insights to determine the overall effect direction and statistical significance. + +For example, acute worsening but long-term cumulative improvement would imply an initial side effect but long-term benefits. Lack of statistical significance would imply no effect. + +### Optimization + +To determine the **optimal dosage**, incrementally adjust the daily dosage amount in the models above. Determine the dosage that minimizes the outcome variable in both the acute and cumulative sense. + +## Analysis Pipeline + +Absolutely, given your constraints and requirements, here's a refined methodology: + +1. **Data Preprocessing**: + - **Handling Missingness**: Exclude rows or time periods with missing data. This ensures the analysis is grounded in actual observations. + - **Standardization**: For treatments with larger scales, standardize values to have a mean of 0 and a standard deviation of 1. This will make regression coefficients more interpretable, representing changes in symptom severity per standard deviation change in treatment. + +2. **Lagged Regression Analysis**: + - Evaluate if treatment on previous days affects today's outcome, given the discrete nature of treatment. + - Examine up to a certain number of lags (e.g., 30 days) to determine potential onset delay and duration. + - Coefficients represent the change in symptom severity due to a one unit or one standard deviation change in treatment, depending on whether standardization was applied. P-values indicate significance. + +3. **Reverse Causality Check**: + - Assess if symptom severity on previous days predicts treatment intake. This helps in understanding potential feedback mechanisms. + +4. **Cross-UserVariableRelationship Analysis**: + - Analyze the correlation between treatment and symptom severity across various lags. + - This aids in understanding potential onset delays and durations of effect. + +5. **Granger Causality Tests**: + - Test if past values of treatment provide information about future values of symptom severity and vice-versa. + - This test can help in determining the direction of influence. + +6. **Moving Window Analysis** (for cumulative effects): + - Create aggregated variables representing the sum or average treatment intake over windows (e.g., 7 days, 14 days) leading up to each observation. + - Use these in regression models to assess if cumulative intake over time affects symptom severity. + +7. **Optimal Dosage Analysis**: + - Group data by discrete dosage levels. + - Calculate the mean symptom severity for each group. + - The dosage associated with the lowest mean symptom severity suggests the optimal intake level. + +8. **Control for Confounders** (if data is available): + - If data on potential confounding variables is available, incorporate them in the regression models. This helps in isolating the unique effect of the treatment. + +9. **Model Diagnostics**: + - After regression, check residuals for normality, autocorrelation, and other potential issues to validate the model. + +10. **Interpretation**: + - Consistency in findings across multiple analyses strengthens the case for a relationship. + - While no single test confirms causality, evidence from multiple methods can offer a compelling case. + +By adhering to this methodology, you will be working with actual observations, minimizing the introduction of potential errors from imputation. The combination of lagged regression, Granger causality tests, and moving window analysis will provide insights into both acute and cumulative effects, onset delays, and optimal treatment dosages. + +## Conclusion + +This rigorous methodology uses interrupted time series analysis, regression modeling, statistical testing, onset/duration modeling, and optimization to determine treatment effects from sparse, irregular observational data with missingness. It establishes causality and significance in both an acute and cumulative sense. By finding the optimal dosage, it provides actionable insights for maximizing the benefits of the treatment. + + +![](https://static.crowdsourcingcures.org/dfda/components/data-analysis/discovery-scatterplots.png) diff --git a/components/data-analysis/data-analysis.png b/components/data-analysis/data-analysis.png new file mode 100644 index 00000000..7f8f1d4c Binary files /dev/null and b/components/data-analysis/data-analysis.png differ diff --git a/components/data-analysis/discovery-scatterplots.png b/components/data-analysis/discovery-scatterplots.png new file mode 100644 index 00000000..0bec77d4 Binary files /dev/null and b/components/data-analysis/discovery-scatterplots.png differ diff --git a/components/data-collection/data-collection.md b/components/data-collection/data-collection.md new file mode 100644 index 00000000..dc2cfbb9 --- /dev/null +++ b/components/data-collection/data-collection.md @@ -0,0 +1,34 @@ +# 📲 Data Collection + +![](https://static.crowdsourcingcures.org/dfda/components/data-collection/data-collection.png) + +Data collection can be done using wearable sensors, third-party applications, and client applications. + +![Diagram showing data collection ranging from human and public data +sources ultimately ending up at the aggregation layer(30)](https://static.crowdsourcingcures.org/dfda/components/data-collection/data-collection-flow-chart.png) + +### Data Types + +Ultimately, the system should be able to handle the following data types: + +* Omics data (e.g., genomics, proteomics, metabolomics, etc.) +* Image and physiological data (e.g., CT, PET/SPECT, sMRI, fMRI, rMRI, DTI, EEG, MEG, ultrasound, cellular level imaging, multi-electrode recording, etc.) +* Clinical data (e.g., lab tests, pathology, imaging, diagnosis, electronic health records, etc.) +* Multiscale data (genomic, epigenomic, subcellular, cellular, network, organ, systems, organism, population levels) +* Multiplatform data (desktop, cloud-based storage, etc.) +* Data from multiple research areas and diseases (e.g., common inflammatory pathways in cancer, obesity, immune diseases, and neurodegenerative diseases) +* Data with special considerations (e.g., sparse data, heterogeneous data, very large or very small datasets) +* Human-computer interfaces and visualization + +### Automated Data Acquisition + +At the present time, it requires a great deal of effort and diligence on the part of the self-tracker to gather all the data required to identify the triggers of mental illness and quantify the effectiveness of different treatments. Tracking one’s mood, diet, sleep, activity, and medication intake can be extremely time-consuming. The present invention automatically pulls data from a number of data sources (adding more all the time). + +The data sources would include: + +* Biometric Devices: that could measure vital signs and biomarkers +* Purchase Records: Data regarding consumption of foods and supplements could be automatically collected by and inferred from receipts or other financial aggregation services like Mint.com. +* Auditory Records: Voice recognition may be used to quantify emotion through conscious verbal expression, spectral analysis of the magnitudes of different frequencies of speech would probably be a better means of quantifying unconscious human affect and thus providing more accurate data for the machine learning process. CommonSense is a cloud-based platform for sensor data. +* Visual Affect Data via Web-Cameras: By tracking hundreds of points on the subjects’ faces, InSight can accurately capture emotional states. +* Prescription Records: Microsoft HealthVault can automatically collect lab results, prescription history, and visit records from a growing list of labs, pharmacies, hospitals, and clinics. + diff --git a/components/data-collection/data-collection.png b/components/data-collection/data-collection.png new file mode 100644 index 00000000..587a6eef Binary files /dev/null and b/components/data-collection/data-collection.png differ diff --git a/components/data-collection/notifications.md b/components/data-collection/notifications.md new file mode 100644 index 00000000..5816b9ab --- /dev/null +++ b/components/data-collection/notifications.md @@ -0,0 +1,13 @@ +## Notifications with Action Buttons + +Web and mobile push notifications with action buttons allow you to easily record treatments and symptoms without opening the app. + +These are available on Android, iOS, and desktop browsers. + +![web notification action buttons](https://static.crowdsourcingcures.org/dfda/components/data-collection/web-notification-action-buttons.png) + +## Related Code + +- [Service Worker to Display Notifications](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/public/app/public/firebase-messaging-sw.js) +- [Push Notification Data Model](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/Slim/Model/Notifications/PushNotificationData.php) +- [Notification Sender Job](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/PhpUnitJobs/Reminders/PushNotificationsJob.php) diff --git a/components/data-collection/web-notification-action-buttons.png b/components/data-collection/web-notification-action-buttons.png new file mode 100644 index 00000000..22b32950 Binary files /dev/null and b/components/data-collection/web-notification-action-buttons.png differ diff --git a/components/data-import/data-import.md b/components/data-import/data-import.md new file mode 100644 index 00000000..dd7258fa --- /dev/null +++ b/components/data-import/data-import.md @@ -0,0 +1,28 @@ +# 🕸 Data Import + +![import-data-connectors-mhealth-integrations.png](https://static.crowdsourcingcures.org/dfda/components/data-import/import-data-connectors-mhealth-integrations.png) + +The Connector Framework imports and normalizes data on all quantifiable aspects of human existence (sleep, mood, medication, diet, exercise, etc.) from dozens of applications and devices including: + +- [Rescuetime](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/RescueTimeConnector.php) – Productivity and Time Tracking +- [WhatPulse](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/WhatPulseConnector.php) – Keystroke and Mouse Behaviour +- [Oura](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/OuraConnector.php) – Sleep Duration, Sleep Quality, Steps, Physical Activity +- [Pollution](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/WeatherConnector.php) – Air Quality, Noise Level, Particulate Matter +- [Netatmo](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/NetatmoConnector.php) – Ambient Temperature, Humidity, Air Quality +- [Fitbit](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/FitbitConnector.php) – Sleep Duration, Sleep Quality, Steps, Physical Activity +- [Withings](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/WithingsConnector.php) – Blood Pressure, Weight, Environmental CO2 Levels, Ambient Temperature +- [Weather](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/WeatherConnector.php) – Local Humidity, Cloud Cover, Temperature +- [Facebook](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/FacebookConnector.php) – Social Interaction, Likes +- [GitHub](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/GithubConnector.php) – Productivity and Code Commits +- [MyFitnessPal](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/MyFitnessPalConnector.php) – Food and Nutrient Intake +- [MoodPanda](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/MoodPandaConnector.php) – Basic Reported Mood +- [MoodScope](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/MoodscopeConnector.php) – Detailed Reported Mood +- [Sleep as Android](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/SleepAsAndroidConnector.php) – Snoring, Deep Sleep, Reported Sleep Rating +- [RunKeeper](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/RunKeeperConnector.php) – Physical Activity +- [MyNetDiary](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors/MyNetDiaryConnector.php) – Food and Nutrient Intake, Vital Signs + + +![integrations-screenshot.png](https://static.crowdsourcingcures.org/dfda/components/data-import/integrations-screenshot.png) + +## Related Code +- [Connectors](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/DataSources/Connectors) diff --git a/components/data-import/import-data-connectors-mhealth-integrations.png b/components/data-import/import-data-connectors-mhealth-integrations.png new file mode 100644 index 00000000..4b17ead6 Binary files /dev/null and b/components/data-import/import-data-connectors-mhealth-integrations.png differ diff --git a/components/data-import/integrations-screenshot.png b/components/data-import/integrations-screenshot.png new file mode 100644 index 00000000..8ab15cd9 Binary files /dev/null and b/components/data-import/integrations-screenshot.png differ diff --git a/components/data-silo-gateway-api-nodes/data-silo-api-gateways.md b/components/data-silo-gateway-api-nodes/data-silo-api-gateways.md new file mode 100644 index 00000000..43b986dd --- /dev/null +++ b/components/data-silo-gateway-api-nodes/data-silo-api-gateways.md @@ -0,0 +1,22 @@ +## Data Silo API Gateway Nodes + +![dfda-gateway-api-node-silo.jpg](https://static.crowdsourcingcures.org/dfda/components/data-silo-gateway-api-nodes/dfda-gateway-api-node-silo.jpg) + +FDAi Gateway API Nodes make it easy for data silos, such as hospitals and digital health apps, to let people export and save their data locally in their [PersonalFDA Nodes](../../home.md#2-personalfda-nodes). + +### Requirements + - **OAuth2 Protected API:** Provides a secure, OAuth2-protected API for people to easily access their data. + - **Personal Access Token Management** - Individuals should be able to create labeled access tokens that they can use to access their data. They should be able to label their access tokens and monitor the usage of each token. They should also be able to revoke access tokens at any time and set an expiration date. + - **Developer Portal:** Developer portal for data silos to easily register and manage their 3rd party application, so they can allow users to share data with their application. + - **OpenAPI Documentation:** Provide OpenAPI documentation for the API, making it easy for data silos to integrate. + - **Software Development Kits (SDKs):** Provide SDKs for popular programming languages to make it easy for developers to integrate the API into their applications. + - **Data Encryption:** Implement robust encryption protocols to safeguard sensitive health data. + - **HIPAA and GDPR Compliance:** Ensure compliance with HIPAA and GDPR privacy regulations. + - **Multiple Data Format Options:** Provide multiple data format options for data export, including CSV, JSON, and XML. + - **Data Structure Options:** Client applications should be able to request should be able to request data in various formats such as FHIR, HL7, and the Common Data Model (CDM). + +### Potential Implementations, Components or Inspiration + +There's a monolithic implementation of this in [apps/dfda-1](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1). + +Please make a pull request and add links to any other open-source projects that could better fulfill this role. diff --git a/components/data-silo-gateway-api-nodes/dfda-gateway-api-node-silo.jpg b/components/data-silo-gateway-api-nodes/dfda-gateway-api-node-silo.jpg new file mode 100644 index 00000000..02a5fa2d Binary files /dev/null and b/components/data-silo-gateway-api-nodes/dfda-gateway-api-node-silo.jpg differ diff --git a/components/decision-support-notifications/decision-support-notifications.md b/components/decision-support-notifications/decision-support-notifications.md new file mode 100644 index 00000000..5ba837b1 --- /dev/null +++ b/components/decision-support-notifications/decision-support-notifications.md @@ -0,0 +1,38 @@ +--- +title: Decision Support Notifications +description: Get notifications telling you the most important thing (MIT) you can do at any given time to optimize your health and happiness. +cover: notifications-screenshot-slide.png +coverY: 203.93538913362704 +--- + +# 🤖 Decision Support Notifications + +![notifications-screenshot-slide.png](https://static.crowdsourcingcures.org/dfda/components/decision-support-notifications/notifications-screenshot-slide.png) + +## What is it? + +Decision Support Notifications are a way to get notifications telling you the most important thing (MIT) you can do at any given time to optimize your health and happiness. + +## How does it work? + +Decision Support Notifications work by using a combination of machine learning and control theory to predict the future and optimize your health and happiness. + +Time-series data on food, drugs, and symptoms is fed into a machine learning model that which input values produce the most significant improvements in symptom severity ratings or biomarker levels. + +The system monitors your body and environment in real-time, and then identifies when the most significant input factors are outside their optimal ranges. When this happens, the system sends you a notification telling you what you can do to optimize your health and happiness. + +## References + +1. [SunilDeshpande\_S2014\_ETD.pdf (asu.edu)](https://keep.lib.asu.edu/\_flysystem/fedora/c7/114023/Deshpande\_asu\_0010E\_14022.pdf) +2. [LocalControl: An R Package for Comparative Safety and Effectiveness Research | Journal of Statistical Software (jstatsoft.org)](https://www.jstatsoft.org/article/view/v096i04) +3. [bbotk: A brief introduction (r-project.org)](https://cran.r-project.org/web/packages/bbotk/vignettes/bbotk.html) +4. [artemis-toumazi/dfpk (github.com)](https://github.com/artemis-toumazi/dfpk) +5. [miroslavgasparek/MPC\_Cancer: Model Predictive Control for the optimisation of the tumour treatment through the combination of the chemotherapy and immunotherapy. (github.com)](https://github.com/miroslavgasparek/MPC\_Cancer) +6. [Doubly Robust Learning — econml 0.12.0 documentation](https://econml.azurewebsites.net/spec/estimation/dr.html) +7. [A control systems engineering approach for adaptive behavioral interventions: illustration with a fibromyalgia intervention (nih.gov)](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4167895/) +8. [The promise of machine learning in predicting treatment outcomes in psychiatry - Chekroud - 2021 - World Psychiatry - Wiley Online Library](https://onlinelibrary.wiley.com/doi/full/10.1002/wps.20882) +9. [CURATE.AI: Optimizing Personalized Medicine with Artificial Intelligence - Agata Blasiak, Jeffrey Khong, Theodore Kee, 2020 (sagepub.com)](https://journals.sagepub.com/doi/full/10.1177/2472630319890316) +10. [Using nonlinear model predictive control to find optimal therapeutic strategies to modulate inflammation (aimspress.com)](https://www.aimspress.com/article/id/2665) +11. [Forecasting Treatment Responses Over Time Using Recurrent Marginal Structural Networks (nips.cc)](https://papers.nips.cc/paper/2018/hash/56e6a93212e4482d99c84a639d254b67-Abstract.html) +12. [Estimating counterfactual treatment outcomes over time through adversarially balanced representations | OpenReview](https://openreview.net/forum?id=BJg866NFvB) +13. [https://dash.harvard.edu/bitstream/handle/1/37366470/AGUILAR-SENIORTHESIS-2019.pdf?isAllowed=y\&sequence=1](https://dash.harvard.edu/bitstream/handle/1/37366470/AGUILAR-SENIORTHESIS-2019.pdf?isAllowed=y\&sequence=1) diff --git a/components/decision-support-notifications/notifications-screenshot-slide.png b/components/decision-support-notifications/notifications-screenshot-slide.png new file mode 100644 index 00000000..c9a6069a Binary files /dev/null and b/components/decision-support-notifications/notifications-screenshot-slide.png differ diff --git a/components/digital-twin-safe/digital-twin-safe-no-text.jpg b/components/digital-twin-safe/digital-twin-safe-no-text.jpg new file mode 100644 index 00000000..570401c6 Binary files /dev/null and b/components/digital-twin-safe/digital-twin-safe-no-text.jpg differ diff --git a/components/digital-twin-safe/digital-twin-safe.jpg b/components/digital-twin-safe/digital-twin-safe.jpg new file mode 100644 index 00000000..453da533 Binary files /dev/null and b/components/digital-twin-safe/digital-twin-safe.jpg differ diff --git a/components/digital-twin-safe/digital-twin-safe.md b/components/digital-twin-safe/digital-twin-safe.md new file mode 100644 index 00000000..5b38d8f0 --- /dev/null +++ b/components/digital-twin-safe/digital-twin-safe.md @@ -0,0 +1,39 @@ +--- +title: 👨‍🤝‍👨 The Digital Twin Safe 🔒 +description: A little house for your digital twin. 🏡 +tags: [projects, data sharing, data storage] +--- + +![human-file-system-banner-logo](https://user-images.githubusercontent.com/2808553/180306571-ac9cc741-6f34-4059-a814-6f8a72ed8322.png) + +Import data from all your apps and wearables, so you can centrally own, control, and share all your digital exhaust. + +# Requirements + +- **Data Import** from all your apps and wearables, so you can centrally own, control, and share all your digital exhaust. +- **Central ownership** and control over your digital health data. +- **Data Sharing Controls:** Seamless sharing of data with health apps through our secure iframe messaging system. Full control over data sharing. +- **Quantum-Resistant Data Encryption** to safeguard sensitive health data. +- **Sync to Between Trusted Devices** like your phone or computer or a family member's device to avoid data loss in the case of device failure. +- **Multifactorial and Biometric Security** because, let's face it, your password is going to get hacked or lost. + +# Possible Technologies and Frameworks +- **[Obsidian](https://obsidian.md/)** is a personal knowledge base based on the [Electron](https://www.electronjs.org/) framework. It could be a good foundation for a Digital Twin Safe because it has a: + - open-source license + - plugin architecture that could be used to implement a variety of features in a modular way + - built-in peer to peer sync feature + - robust encryption system + - and can be built for desktop and mobile +- **[Electron](https://www.electronjs.org/)** is a lower-level framework for creating native applications with web technologies like JavaScript, HTML, and CSS. The main benefit of Electron for the Digital Twin Safe is that it allows you to create cross-platform desktop applications using web technologies. +- **[Expo](https://expo.io/)** is a set of tools and services built around React Native and native platforms that help you develop, build, deploy, and quickly iterate on iOS, Android, and web apps from the same JavaScript/TypeScript codebase. + +# Potential Implementations, Components or Inspiration +- [Modified Gnosis Safe](/digital-twin-safe) +- [Weavechain](https://weavechain.com/) +- [Crowdsourcing Cures App](https://app.crowdsourcingcures.org/app/public/#/app/intro) + +## Demo + +[![digital-twin-safe-screenshot-home](https://user-images.githubusercontent.com/2808553/200402565-72bc85a3-deb2-4f1a-a9b1-bde108e63d87.png)](https://safe.FDAi.earth?access_token=demo) + +Demo available at [safe.FDAi.earth](https://safe.FDAi.earth?access_token=demo) diff --git a/components/human-ai-collective-intelligence-platform/desci-ai-dao.md b/components/human-ai-collective-intelligence-platform/desci-ai-dao.md new file mode 100644 index 00000000..b255b1de --- /dev/null +++ b/components/human-ai-collective-intelligence-platform/desci-ai-dao.md @@ -0,0 +1,125 @@ +--- +title: DeSci DAO AI Agent Framework +description: How to create a truly autonomous DAO that actually accelerates scientific progress +tags: [dao, ai, automation, desci] +--- + +# Problem: + +- **Coordination** - Lack of inter-DAO coordination leads to duplication of efforts and stalled progress + +- **Resource allocation** - Lack of intra-DAO coordination causes inefficient resource allocation + +- **Mindsets** - Competitive mindsets prevent open collaboration between members + +- **Prioritization** - No systemic way to prioritize high-impact tasks objectively + +# Goals: + +- **Templates** - Create an open-source AI DAO template to improve coordination, transparency and automation + +- **Duplication** - Reduce duplication of efforts between DAOs and members + +- **Prioritization** - Enable efficient task prioritization and resource allocation + +- **Onboarding** - Lower barriers to entry for new DAOs via templates + +# Benefits: + +- **Collaboration** - Improved collaboration and reduced duplicated efforts + +- **Efficiency** - More efficient resource allocation via AI optimization + +- **Transparency** - Increased transparency into DAO activities + +- **Automation** - Automation of administrative tasks to free up human capital + +- **Iteration** - Rapid iteration and improvement via feedback loops + +- **Interoperability** - Interoperability between DAOs using open-source agents + +# Approach: + +- **Framework** - Design flexible DAO framework with defined structure, roles, tools + +- **Objectives** - Set quantitative objectives and key results (OKRs) + +- **Agents** - Build AI agents for core functions like task management and communication + +- **Tools** - Implement with tools like Discord, GitHub, Snapshot + +- **Expand** - Expand agents via reinforcement learning and community contributions + +- **Infrastructure** - Transition to decentralized infrastructure over time + + +# Development Plan + +## Phase 1 – Design DAO Framework + +### Milestone 1: Finalize DAO structure and governance +- Draft constitution and decision-making procedures +- Define member roles and responsibilities +- Choose tools like Discord, GitHub, Notion + +### Milestone 2: Set DAO objectives and key results (OKRs) +- Define top-level utility function for DAO +- Set quarterly OKRs with measurable key results +- Establish processes to monitor KPIs + +### Milestone 3: Design AI architecture and integration +- Map agent roles to DAO OKRs +- Define agent utility functions, KPIs, and rewards +- Plan for connecting agents to tools and DAO members + +## Phase 2 – Build Agents with Learning + +### Milestone 4: Implement core agent capabilities +- Dialog, memory, tool integrations +- Initialize knowledge graphs +- Handoff to humans when necessary + +### Milestone 5: Create a project manager agent +- Set objectives around the shipping roadmap +- Track KPIs like issues closed, features delivered +- Learn from human feedback + +### Milestone 6: Build a communicator agent +- Objectives for engagement, transparency +- Measure KPIs like messages sent, sentiment +- Learn from member input + +### Milestone 7: Launch MVP agents +- Connect agents to GitHub, Discord, Ethereum +- Start tracking DAO and agent KPIs +- Open source codebase and documentation + +## Phase 3 – Iterate and Expand Intelligently + +### Milestone 8: Enhance conversational abilities +- Expand dialog trees based on feedback +- Improve NLP models via reinforcement learning +- Lower handoff rate by learning from experience + +### Milestone 9: Add accounting and recruiting agents +- Automate tasks like payments and vetting +- Set objectives around their specialized domains +- Continuously optimize KPIs with feedback loops + +### Milestone 10: Open-source templatized agents +- Abstract agents into reusable frameworks +- Allow community contributions and experimentation +- Share learnings across compounds + +## Phase 4 – Transition to Full Autonomy + +### Milestone 11: Move agents to decentralized infrastructure +- Store memory and models on IPFS/Filecoin +- Connect to blockchain identity and permissions +- Make constitution and transition plan immutable + +### Milestone 12: Hand over control to agents +- Agents amend constitution and govern fully autonomously +- Humans step into oversight role +- Value-aligned AI DAO becomes self-sustaining + diff --git a/components/human-ai-collective-intelligence-platform/dfda-collaboration-framework.md b/components/human-ai-collective-intelligence-platform/dfda-collaboration-framework.md new file mode 100644 index 00000000..2ea2e9a4 --- /dev/null +++ b/components/human-ai-collective-intelligence-platform/dfda-collaboration-framework.md @@ -0,0 +1,51 @@ +--- +title: FDAi Collaboration and Collective Intelligence Framework +description: A framework for coordinating the efforts of the stakeholders in the FDAi ecosystem. +tags: [dfda, collaborationism, collective intelligence, coordination] +--- + +> **Note:** This document is a work in progress. We welcome contributions and encourage the inclusion of existing projects that align with this framework's objectives. Please [contact us](mailto:grants@crowdsourcingcures.org) if you'd like to implement any aspect of this framework. + +We are creating the FDAi Collaboration and Collective Intelligence Framework to serve as a central platform for facilitating cooperation, communication, and collaborative actions among stakeholders in the health sector. Its primary objective is to harness collective capabilities towards a shared vision of accelerated clinical discovery and improved health outcomes. + +**Desired Features of the Platform:** + +1. **Communication Channels:** Facilitate seamless interaction among stakeholders to build a community with shared knowledge and goals. +2. **Resource Sharing Mechanisms:** Enable the exchange of data, technologies, expertise, and other resources among partners. +3. **Collaborative Workspaces:** Provide dedicated tools and spaces for research, data analysis, and project development. +4. **Partnership Agreements:** Ensure clear formation and management of partnerships with defined roles and responsibilities. +5. **Project Management Tools:** Offer resources for effectively planning, tracking, and managing joint projects. +6. **Knowledge Repository:** Establish a centralized or federated database for collective knowledge, research findings, and best practices. +7. **Legal and Regulatory Guidance:** Offer guidance for navigating relevant legal and regulatory frameworks. +8. **Impact Tracking:** Implement tools for monitoring and evaluating the outcomes of collaborative projects. + +**Implementation Approach:** + +To establish the FDAi platform, we propose leveraging existing open-source tools to ensure cost-efficiency, rapid deployment, and an environment conducive to collaboration. Key steps include: + +1. **Tool Selection:** Identify open-source tools for communication, collaboration, data sharing, and decentralized governance. +2. **Infrastructure Setup:** Use platforms like Slack, GitHub, and Trello for core communication and project management. +3. **Governance and Data Sharing:** Employ blockchain tools for governance (e.g., Aragon) and explore data-sharing platforms like CKAN. +4. **Incentive Systems:** Implement tokenization and reward mechanisms using platforms like Ethereum and SourceCred. +5. **Legal and Knowledge Management:** Utilize platforms like Nextcloud for legal guidance and MediaWiki for knowledge sharing. +6. **Security and Privacy:** Strengthen the platform with security tools like OpenSSL and privacy solutions like GnuPG. +7. **Community Engagement:** Foster community interactions using forums like Discourse. +8. **Feedback and Support:** Implement feedback tools like LimeSurvey and offer technical support through open-source helpdesk solutions. +9. **Promotion of Open Source Culture:** Encourage active community contributions to the open-source tools used. + +**Overcoming Competitive Challenges:** + +To address the competitive nature inherent in human and organizational behavior, the platform emphasizes: + +1. **Shared Goals and Vision:** Align stakeholders around collective success. +2. **Incentive Structures:** Reward collaboration and mutual support. +3. **Transparency and Trust:** Ensure openness and accountability in all operations. +4. **Decentralized Governance:** Adopt a fair and consensus-driven decision-making model. +5. **Resource Pooling:** Share resources and benefits equitably among participants. +6. **Open Innovation:** Promote knowledge sharing and cross-organizational collaboration. +7. **Conflict Resolution:** Implement effective mechanisms for dispute resolution. +8. **Cultural Change:** Encourage a shift from competition to collaboration through education and storytelling. +9. **Collaborative Metrics:** Focus on evaluation criteria that highlight collective efforts and impact. + +By integrating these elements, the FDAi initiative aims to foster a collaborative ecosystem that accelerates innovation in health, aligning with the mission of maximizing human lifespan and minimizing net suffering. + diff --git a/components/human-file-system-protocol/human-file-system-protocol.md b/components/human-file-system-protocol/human-file-system-protocol.md new file mode 100644 index 00000000..ce28ffc3 --- /dev/null +++ b/components/human-file-system-protocol/human-file-system-protocol.md @@ -0,0 +1,54 @@ +--- +title: Human File System +description: The Human File System Protocol SDK is a suite of interoperable software libraries, meticulously designed to facilitate the creation of user-access controlled digital twins on the blockchain. +tags: [data-aggregation, data sharing, data storage] +--- + +## The Human File System Protocol SDK + +**A Simple API for Patient-Controlled Health Data Aggregation, Sharing, and Monetization** + +A set of interoperable software libraries that can be used independently to create user-access controlled digital twins on the blockchain. + +The libraries can be used independently, but will all be included in the HumanFS SDK. + +### The Need for a Human File System Protocol + +There are 350k health apps containing various types of symptom and factor data. However, the isolated data's relatively useless in all these silos. To figure out how to actually minimize/avoid chronic disease, all the factor data needs to be combined with the outcome data. + +**Web2 Problem** + +The web2 solution to combining all this data is a nightmare of + +1. creating thousands of OAuth2 data connectors +2. running a bunch of importer cron jobs on AWS. + +**Web3 Solution** + +User auth/databases/key management/access control/3rd party OAuth tokens abstracted away by a single, easy-to-use API + +i.e. + +Pain Tracking App A: + +`db.collections.create('Arthritis Severity', timeSeriesData);` + +Diet-Tracking App B: + +`let timeSeriesData = db.collections.get('Arthritis Severity');` + +⇒ Making it possible for Diet-Tracking App B (and/or Pain Tracking App A) to easily analyze the relationship between dietary factors and Arthritis Severity using causal inference predictive model control recurrent neural networks. + +# 📚 Libraries Used + +[Data Storage, Authorization and Sharing](https://github.com/yash-deore/sshr-hackfs) - Lit Programmable Key Pairs (PKPs) for access control over protected health information (PHI) with data storage on Ceramic. XMTP (Extensible Message Transport Protocol) is an open protocol and network for secure, private messaging between patients and physicians. + +### Relevant Libraries +- [Zero Knowledge Unique Patient Identifier Key in a Soul Bound NFT](https://app.dework.xyz/hackfs-dhealth-colle/suggestions?taskId=ff0c50bf-3c11-4076-8c9c-18d8c46ecf05) - For patients, owning an NFT of their medical data would be like creating a sentry to guard that personal information. The NFT would act as a gatekeeper, tracking who requested access, who was granted access, and when—and record all those actions publicly. +- [Federated Learning](https://app.dework.xyz/hackfs-dhealth-colle/suggestions?taskId=f25f12a9-7e3d-4488-85f7-023f95f75dfe) - Fluence to perform decentralized analysis of human generated data from applications and backends on peer-to-peer networks +- [Proof of Humanity](https://app.dework.xyz/hackfs-dhealth-colle/suggestions?taskId=db1092b9-91b4-4352-999a-f088ffefd6c8) - The Proof of Attendance Protocol for Sybil Resistant data collection, ensuring that robots aren't selling fake health data. +- [Reward open-source health innovation](https://app.dework.xyz/hackfs-dhealth-colle/suggestions?taskId=7261a8d8-f1ad-493c-a41c-b70a36507763) - Valist to reward public good open-source health technology innovations using Software License NFTs and proof of open-source contribution. +- [Querying specific health data](https://app.dework.xyz/hackfs-dhealth-colle/suggestions?taskId=3a546a7f-2aa6-43a1-8dda-08c5a62c83b4) - Tableland for querying the HumanFS for specific data types and time periods. +- [NFT Health Data Marketplace](https://app.dework.xyz/hackfs-dhealth-colle/main-space-477/projects/nft-health-data-mark) - NFTPort for minting data sets that can be sold to pharmaceutical companies in a health data marketplace. +- [On-Chain Analytics](https://app.dework.xyz/hackfs-dhealth-colle/suggestions?taskId=0114d499-36ff-4451-9d1a-e870c753e155) - Covalent for Health Data NFT marketplaces, On-Chain Analytics / Dashboards, Health Data Wallets, Health Data Asset tracking, and ROI for NFT generation and sales. + diff --git a/components/no-code-app-builder/no-code-app-builder.md b/components/no-code-app-builder/no-code-app-builder.md new file mode 100644 index 00000000..4ef4ece4 --- /dev/null +++ b/components/no-code-app-builder/no-code-app-builder.md @@ -0,0 +1,24 @@ +# No-Code Health App Builder + +## Overview + +The No-Code Health Data App Builder is a platform designed to simplify and streamline the process of creating health +data collection, aggregation, and analysis applications. This powerful tool allows users, regardless of their technical +background, to build custom apps tailored to their health data management needs. + +## Features + +Based on the provided screenshots, the No-Code Health Data App Builder includes features such as: + +1. **Easy-to-Use Interface**: A user-friendly interface that allows for easy navigation and app creation without any coding skills. + +2. **Customizable Data Links**: Users can link various health data sources for aggregation and analysis. This might include fitness trackers, medical records, dietary information, and more. + +3. **Flexible Design Options**: The builder offers a range of customization options to create a personalized app experience. + +4. **Data Visualization Tools**: Integrated tools to help visualize and analyze health data effectively. + +5. **Automated Data Collection and Aggregation**: Automated processes for collecting and aggregating data from multiple sources. + +6. **Privacy and Security**: Ensuring user data is kept secure and private. + diff --git a/components/observational-studies/observational-studies.md b/components/observational-studies/observational-studies.md new file mode 100644 index 00000000..170af780 --- /dev/null +++ b/components/observational-studies/observational-studies.md @@ -0,0 +1,31 @@ +# 📑 Observational Studies Plugin + +- [Overview](#overview) +- [Impact](#impact) +- [Study Index](#study-index) +- [Overall Mood Mega Study](#overall-mood-mega-study) +- [Models](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/Studies) +- [Front-End Views](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/Studies) + +## Overview + +Observational studies are a type of study in which researchers observe the behavior of a group of people and measure outcomes. Observational studies do not involve any intervention or manipulation of the subjects, and therefore cannot establish causality. However, they are powerful tools for collecting data to help answer important scientific questions. Observational studies can be used to describe the distribution of a variable among a population, to identify relationships between two or more variables, and to identify risk factors for a disease or other health outcome. Observational studies can be conducted using either a retrospective or a prospective study design. + +## Impact + +- Clinicians and those suffering from chronic conditions will have access to the personalized effectiveness rates of treatments and the percent likelihood of root causes. +- Researchers will be able to use the data to identify the factors that most influence any given aspect of health. +- Anyone wanting to optimize any quantifiable aspect of their life is able to search and see a list of the products that are most effective at helping the average user achieve a particular health and wellness goal. For instance, if one wishes to improve one’s sleep efficiency, go to our site and search for “sleep efficiency”, where one is able to select from the list of products that most affect sleep efficiency. +- The Personal FDA will be able to use the data to identify the factors that most influence any given aspect of health. + +## Study Index + +![studies](https://static.crowdsourcingcures.org/dfda/components/observational-studies/studies-cropped.jpg) + +## Overall Mood Mega Study + +![(overall-mood-predictors](https://static.crowdsourcingcures.org/dfda/components/observational-studies/overall-mood-predictors.jpeg) + +## Tests + +[PHPUnit on Staging Environment](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/tests/StagingUnitTests/C/Studies) diff --git a/components/observational-studies/observational-studies.png b/components/observational-studies/observational-studies.png new file mode 100644 index 00000000..e0b04d6a Binary files /dev/null and b/components/observational-studies/observational-studies.png differ diff --git a/components/optimiton-ai-agent/optomitron-ai-agent.md b/components/optimiton-ai-agent/optomitron-ai-agent.md new file mode 100644 index 00000000..1c17c963 --- /dev/null +++ b/components/optimiton-ai-agent/optomitron-ai-agent.md @@ -0,0 +1,23 @@ +# Optimitron AI Agent + +Optimitron is an AI agent that lives in your PersonalFDA node that uses causal inference to estimate how various factors affect your health. + +![data-import-and-analysis.gif](../../../img/data-import-and-analysis.gif) + +Optimitron is an AI assistant that asks you about your symptoms and potential factors. Then she applies pharmacokinetic predictive analysis to inform you of the most important things you can do to minimize symptom severity. + +[![Click Here for Demo Video](../../../img/optimitron-ai-assistant.png)](https://youtu.be/hd50A74o8YI) + +[Or Try the Prototype Here](https://demo.curedao.org/app/public/#/app/chat) + +#### Data Analysis + +Currently, we've implemented causal inference analysis of sparse time series data that takes into account onset delays and other factors. + +![causal-inference-vertical.svg](https://static.crowdsourcingcures.org/dfda/components/data-analysis/causal-inference-vertical.svg) + +We're working on implementing a more robust pharmacokinetic predictive model control recurrent neural network. + +Ideally, Optimitron AI agent will be able to further improve the precision and accuracy of the real-time recommendations over time by leveraging reinforcement learning and community contributions. + +[👉 Learn more about the data analysis here...](../data-analysis/data-analysis.md) diff --git a/components/outcome-labels/outcome-labels.md b/components/outcome-labels/outcome-labels.md new file mode 100644 index 00000000..e51878ee --- /dev/null +++ b/components/outcome-labels/outcome-labels.md @@ -0,0 +1,35 @@ +# 🏷 Outcome Labels + +![outcome-labels-plugin.png](https://static.crowdsourcingcures.org/dfda/components/outcome-labels/outcome-labels.png) + +Currently, all foods carry nutrition labels such as this one: + +![](outcome-labels.md) + +But how useful is it to the average person to know the amount of Riboflavin in something? The purpose of nutritional labels is to help individuals make choices that will improve their health and prevent disease. + +Telling the average person the amount of riboflavin in something isn’t going to achieve this. This is evidenced by the fact that these labels have existed for decades and during this time, we’ve only seen increases in most diseases they were intended to reduce. + +We have created a new and improved **Outcomes Label** that instead lists the degree to which the product is likely to improve or worsen specific health outcomes or symptoms. We currently have generated Outcome Labels for thousands of foods, drugs, and nutritional supplements that can be found at [studies.crowdsourcingcures.org](https://studies.crowdsourcingcures.org). These labels are derived from the analysis of 10 million data points anonymously donated by over 10,000 study participants via the app at [app.crowdsourcingcures.org](https://app.crowdsourcingcures.org). + +![](https://crowdsourcingcures.org/wp-content/uploads/2021/05/nutrition-facts-vs-outcome-labels-melatonin-1024x592.png) + +## Data Quantity + +We've collected over 10 million data points on symptom severity and influencing factors from over 10,000 people. Predictive machine learning algorithms are applied to reveal effectiveness and side effects of treatments and the degree to which hidden dietary and environmental improve or exacerbate chronic illnesses. + +These analytical results have been used to publish 90,000 studies on the effects of various treatments and food ingredients on symptom severity. + +![](https://static.crowdsourcingcures.org/video/johnny-5-need-input.gif) + +Although 10 million data points sound like a lot, currently, the usefulness and accuracy of these Outcome Labels are currently limited. This is due to the fact there are only a few study participants have donated data for a particular food paired with a particular symptom. In observational research such as this, a very large number of participants are required to cancel out all the errors and coincidences that can influence the data for a single individual. + +For instance, someone with depression may have started taking an antidepressant at the same time they started seeing a therapist. Then, if their depression improves, it’s impossible to know if the improvement was a result of the antidepressant, the therapist, both, or something else. These random factors are known as confounding variables. However, random confounding factors can cancel each other out when looking at large data sets. This is why it’s important to collect as much data as possible. + +## Data Sources + +Several types of data are used to derive the Outcome Labels: + +1. **Individual Micro-Level Data** – This could include data manually entered or imported from other devices or apps at [safe.dfda.earth](http://safe.dfda.earth), This could also include shopping receipts for foods, drugs, or nutritional supplements purchased and insurance claim data. +2. **Macro-Level Epidemiological Data** – This includes the incidence of various diseases over time combined with data on the amounts of different drugs or food additives. This is how it was initially discovered that smoking caused lung cancer. With macro-level data, it’s even harder to distinguish correlation from causation. However, different countries often enact different policies that can serve as very useful natural experiments. For instance, 30 countries have banned the use of glyphosate. If the rates of Alzheimer’s, autism, and depression declined in these countries and did not decline in the countries still using glyphosate, this would provide very powerful evidence regarding its effects. Unfortunately, there is no global database that currently provides easy access to the incidence of these conditions in various countries over time and the levels of exposure to various chemicals. +3. **Clinical Trial Data** – This is the gold standard with regard to the level of confidence that a factor is truly the cause of an outcome. However, it’s also the most expensive to collect. As a result, clinical trials are often very small (less than 50 people). Exclusion criteria in trials often prevent study participants from being representative of real patients. There are ethical considerations that prevent us from running trials that have any risk of harm to participants. Due to the expense involved we have very few trials run on anything other than a molecule that can be patented and sold as a drug. diff --git a/components/outcome-labels/outcome-labels.png b/components/outcome-labels/outcome-labels.png new file mode 100644 index 00000000..f6644146 Binary files /dev/null and b/components/outcome-labels/outcome-labels.png differ diff --git a/components/personal-fda-nodes/personal-fda-nodes.md b/components/personal-fda-nodes/personal-fda-nodes.md new file mode 100644 index 00000000..54fc64e1 --- /dev/null +++ b/components/personal-fda-nodes/personal-fda-nodes.md @@ -0,0 +1,21 @@ +## 2. PersonalFDA Nodes + +PersonalFDA Nodes are applications that can run on your phone or computer. They import, store, and analyze your data to identify how various factors affect your health. They can also be used to share anonymous analytical results with the [Clinipedia FDAi Wiki](../clinipedia/clinipedia.md) in a secure and privacy-preserving manner. + +PersonalFDA Nodes are composed of two components, a Digital Twin Safe and an AI agent called Optimitron (or some better name) that uses causal inference to estimate how various factors affect your health. + +### 2.1. Digital Twin Safe + +![digital-twin-safe.jpg](https://static.crowdsourcingcures.org/dfda/components/digital-twin-safe/digital-twin-safe.jpg) + +A local application for self-sovereign import and storage of personal data. + +**👉 [Learn More or Contribute to Digital Twin Safe](../digital-twin-safe/digital-twin-safe.md)** + +### 2.2. Optimitron AI Agent + +![data-import-and-analysis.gif](../../../img/data-import-and-analysis.gif) + +Optimitron is an AI agent that lives in your PersonalFDA node that uses causal inference to estimate how various factors affect your health. + +**👉 [Learn More](../optimiton-ai-agent/optomitron-ai-agent.md)** diff --git a/components/predictor-search-engine/mood-predictors-bar-chart.png b/components/predictor-search-engine/mood-predictors-bar-chart.png new file mode 100644 index 00000000..b35b86b8 Binary files /dev/null and b/components/predictor-search-engine/mood-predictors-bar-chart.png differ diff --git a/components/predictor-search-engine/mood-predictors-nutrition-facts-style.png b/components/predictor-search-engine/mood-predictors-nutrition-facts-style.png new file mode 100644 index 00000000..adb423ec Binary files /dev/null and b/components/predictor-search-engine/mood-predictors-nutrition-facts-style.png differ diff --git a/components/predictor-search-engine/overall-mood-predictors-flow-sankey-chart.png b/components/predictor-search-engine/overall-mood-predictors-flow-sankey-chart.png new file mode 100644 index 00000000..5dffd85a Binary files /dev/null and b/components/predictor-search-engine/overall-mood-predictors-flow-sankey-chart.png differ diff --git a/components/predictor-search-engine/overall-mood-predictors-network-graph.png b/components/predictor-search-engine/overall-mood-predictors-network-graph.png new file mode 100644 index 00000000..1f770901 Binary files /dev/null and b/components/predictor-search-engine/overall-mood-predictors-network-graph.png differ diff --git a/components/predictor-search-engine/overall-mood-predictors.png b/components/predictor-search-engine/overall-mood-predictors.png new file mode 100644 index 00000000..c0fb0f14 Binary files /dev/null and b/components/predictor-search-engine/overall-mood-predictors.png differ diff --git a/components/predictor-search-engine/predictor-search-cards.png b/components/predictor-search-engine/predictor-search-cards.png new file mode 100644 index 00000000..18e82773 Binary files /dev/null and b/components/predictor-search-engine/predictor-search-cards.png differ diff --git a/components/predictor-search-engine/predictor-search-engine.md b/components/predictor-search-engine/predictor-search-engine.md new file mode 100644 index 00000000..d8873a21 --- /dev/null +++ b/components/predictor-search-engine/predictor-search-engine.md @@ -0,0 +1,47 @@ +# 🔎 Predictor Search Engine Plugin + +Aggregated user data is used to determine the factors that most influence any given aspect of health, powering the QM Search Engine. + +Anyone wanting to optimize any quantifiable aspect of their life is able to search and see a list of the products that are most effective at helping the average user achieve a particular health and wellness goal. For instance, if one wishes to improve one’s sleep efficiency, go to our site and search for “sleep efficiency”, where one is able to select from the list of products that most affect sleep efficiency. + +Impact: Clinicians and those suffering from chronic conditions will have access to the personalized effectiveness rates of treatments and the percent likelihood of root causes. + +The search engine is available in a variety of layout settings. + +### Network Graph Style + +[Network Graph Demo](https://app.quantimo.do/variables/Overall%20Mood) + +![Network Graph Style](https://static.crowdsourcingcures.org/dfda/components/predictor-search-engine/overall-mood-predictors-network-graph.png) + +### Embeddable Cards + +![Cards](https://static.crowdsourcingcures.org/dfda/components/predictor-search-engine/predictor-search-cards.png) + +### Embeddable Simple List + +![Predictor Search Engine Plugin](https://static.crowdsourcingcures.org/dfda/components/predictor-search-engine/predictor-search-no-background.png) + +### Study Cards in Ionic App + +[Study Cards in Ionic App Demo](https://web.quantimo.do/dev/src/ionic/src/index.html#/app/predictors/Overall%20Mood) + +![Study Cards in Ionic App](https://static.crowdsourcingcures.org/dfda/components/predictor-search-engine/overall-mood-predictors.png) + +### Nutrition Facts Style + +[Nutrition Facts Style Demo](https://app.quantimo.do/variables/Overall%20Mood) + +![Nutrition Facts Style](https://static.crowdsourcingcures.org/dfda/components/predictor-search-engine/mood-predictors-nutrition-facts-style.png) + +### Bar Chart Style + +[Bar Chart Demo](https://app.quantimo.do/variables/Overall%20Mood) + +![Bar Chart Style](https://static.crowdsourcingcures.org/dfda/components/predictor-search-engine/mood-predictors-bar-chart.png) + +### Sankey Chart Style + +[Sankey Chart Demo](https://app.quantimo.do/variables/Overall%20Mood) + +![Sankey Chart Style](https://static.crowdsourcingcures.org/dfda/components/predictor-search-engine/overall-mood-predictors-flow-sankey-chart.png) diff --git a/components/predictor-search-engine/predictor-search-no-background.png b/components/predictor-search-engine/predictor-search-no-background.png new file mode 100644 index 00000000..0b9699e1 Binary files /dev/null and b/components/predictor-search-engine/predictor-search-no-background.png differ diff --git a/components/predictor-search-engine/predictor-search-simple-list-zoom.png b/components/predictor-search-engine/predictor-search-simple-list-zoom.png new file mode 100644 index 00000000..0494b893 Binary files /dev/null and b/components/predictor-search-engine/predictor-search-simple-list-zoom.png differ diff --git a/components/root-cause-analysis-reports/factors-slide.png b/components/root-cause-analysis-reports/factors-slide.png new file mode 100644 index 00000000..5e454e51 Binary files /dev/null and b/components/root-cause-analysis-reports/factors-slide.png differ diff --git a/components/root-cause-analysis-reports/root-cause-analysis-reports.md b/components/root-cause-analysis-reports/root-cause-analysis-reports.md new file mode 100644 index 00000000..36d892c9 --- /dev/null +++ b/components/root-cause-analysis-reports/root-cause-analysis-reports.md @@ -0,0 +1,23 @@ +# Root Cause Analysis Reports + +![factors-slide.png](https://static.crowdsourcingcures.org/dfda/components/root-cause-analysis-reports/factors-slide.png) + +A half billion are suffering from autoimmune diseases like irritable bowel disease, multiple sclerosis, Crohn's disease, psoriasis, and fibromyalgia. +Another half a billion people are suffering from depression and other mental illnesses. +At least one person will have committed suicide by the time you read this paragraph. (Hopefully, it won't be as a result of reading this paragraph.) Instead, we believe death is due to massive failures in our current systems of clinical research and diagnosis. +Currently, it costs as much as \$48,000 per subject in a Phase III clinical trial. That has resulted in very little data on the effects of any factors that aren’t patentable. + +Furthermore, something that most of these chronic conditions have in common is that they can be exacerbated or improved by hundreds of factors during daily life. They can be affected by the hundreds of chemicals you consume through your diet, treatments you've been prescribed, micronutrient intake, nutritional supplements, the amount of time spent in various sleep stages, the type, duration, and intensity of physical activity, social interaction, and even the weather! + +Unfortunately, the human mind evolved to survive in a world without data millions of years ago on the African savanna. As a result, our brains are only capable of processing 7 numbers at a given time. +Brains don’t have the bandwidth or statistical processing power required to analyze the massive amount of longitudinal data, time delays, and durations of action that has to be taken into account to determine the influence of each of these factors on the individual’s symptoms. +The good news is that new devices and apps can automate the process of collecting all of this, data and my brain can process millions of numbers! +I love to eat up all this data and analyze it and determine, which of these hundreds of factors have the strongest relationships to the symptom or outcome of interest. +Thus, I automatically generate reports intended to help you and your physician gain insights into the root causes and effective solutions to help you minimize your symptoms. + + +* [HTML Example](1398-root-cause-analysis.html) +* [Model and Analytics Code](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/app/Reports/RootCauseAnalysis.php) +* [Front-End View Code](https://github.com/FDA-AI/FDAi/tree/develop/apps/dfda-1/resources/views/root-cause-content.blade.php) + +[Generate your own!](https://app.curedao.org/) diff --git a/knowledge-base/conditions/long-covid.html b/conditions/long-covid.html similarity index 100% rename from knowledge-base/conditions/long-covid.html rename to conditions/long-covid.html diff --git a/knowledge-base/conditions/scabies.md b/conditions/scabies.md similarity index 100% rename from knowledge-base/conditions/scabies.md rename to conditions/scabies.md diff --git a/cost-savings-from-decentralized-clinical-trials.md b/cost-savings-from-decentralized-clinical-trials.md new file mode 100644 index 00000000..c67aa923 --- /dev/null +++ b/cost-savings-from-decentralized-clinical-trials.md @@ -0,0 +1,14 @@ +--- +description: >- + Decentralized Clinical Trials Can Achieve Net Financial Benefits of 5X to 14X, + Due to Reduced Trial Timelines and Other Factors +--- + +# 🌎 Cost Savings from Decentralized Clinical Trials + +* **Net financial benefit:** In phase II studies, the typical DCT deployment for a clinical trial resulting in a one to three month time savings yields a net benefit that is up to five times greater than the upfront investment required. In phase III studies, a similar time savings yields a net benefit that is up to [14 times greater](https://www.businesswire.com/news/home/20220113005740/en/New-Study-Decentralized-Clinical-Trials-Can-Achieve-Net-Financial-Benefits-of-5X-to-14X-Due-to-Reduced-Trial-Timelines-and-Other-Factors) than the upfront investment required. +* **Shorter clinical trial times**: Cycle time reductions associated with DCT deployments had a substantially greater impact on net financial benefits than any other factor. Nearly 85 percent of all clinical trials will experience some sort of delay, with the financial impact of [$600,000 to $8 million](https://www.businesswire.com/news/home/20220113005740/en/New-Study-Decentralized-Clinical-Trials-Can-Achieve-Net-Financial-Benefits-of-5X-to-14X-Due-to-Reduced-Trial-Timelines-and-Other-Factors) per day of delay. Faster trial completion through decentralized methodologies can drive significant cost savings. +* **Lower screening failure rates**: Less than 5 percent of the U.S. population participates in clinical research, and up to [50 percent of trials are not completed](https://www.businesswire.com/news/home/20220113005740/en/New-Study-Decentralized-Clinical-Trials-Can-Achieve-Net-Financial-Benefits-of-5X-to-14X-Due-to-Reduced-Trial-Timelines-and-Other-Factors) because of insufficient enrollment. DCTs shift the paradigm to enable greater patient participation, reduced time and travel burden, faster screening, more convenient consent and enrollment, and in some cases, remote delivery of an intervention and the measurement of outcomes. +* **Fewer protocol amendments:** Protocol amendments often cause delays and dramatically increase the costs of developing new therapies. The potential for fewer research sites in a DCT leads to fewer institutional review boards and a corresponding reduction in regulatory costs and increased flexibility around protocol changes. +* In phase II studies, the typical decentralized clinical trial (DCT) deployment produced a [400%](https://github.com/cure-dao/docs/blob/main/assets/financial-benefits-of-decentralized-trials.pdf) return on investment in terms of trial cost reductions. +* In phase III studies, decentralization produced a [1300%](https://github.com/cure-dao/docs/blob/main/assets/financial-benefits-of-decentralized-trials.pdf) return on investment. diff --git a/cure-acceleration-act.md b/cure-acceleration-act.md new file mode 100644 index 00000000..5ffd20be --- /dev/null +++ b/cure-acceleration-act.md @@ -0,0 +1,295 @@ +# 💖 DISEASE ERADICATION ACT + +## 📜 SECTION 1. SHORT TITLE AND FINDINGS + +### 1.1 📛 Title + +This Act may be cited as the **"Disease Eradication Act"**. + +### 1.2 🏥 Core Problems This Act Solves + +Today's healthcare system is broken because: + +* ⏳ **Bureaucratic delays** block life-saving treatments by 7-12 years + +* 🚫 **[97% of patients](https://academic.oup.com/jnci/article/111/3/245/5307078)** are excluded from clinical trials for various reasons, denying access to promising treatments +* 💰 **[Drug development costs](https://csdd.tufts.edu/csddnews/2018/3/9/march-2016-tufts-csdd-rd-cost-study)** average $2.6B, which is passed on to patients in the form of higher prices +* 📈 **[80% of R&D](https://www.gao.gov/products/gao-18-40)** focuses on super expensive drugs costing over $100k/year instead of affordable alternatives +* ⏱️ **[Terminal patients](https://www.fda.gov/media/151060/download)** wait 4+ years for breakthrough therapy approvals +* 🌍 **[US approvals](https://www.nejm.org/doi/full/10.1056/NEJMsa1610301)** lag 3-5 years behind Europe and Asia +* 🩺 Only **[5% of healthcare spending](https://www.cdc.gov/chronicdisease/about/costs/index.htm)** goes to preventive care, despite $1 spent saving $3 in future costs +* 📊 The system ignores **real-world evidence** about effective treatments + +### 1.3 💡 The Solution + +This Act: + +* ✅ **Guarantees** every person's right to try any treatment that passes basic safety testing +* 💻 **Creates** a free, open platform eliminating billions in trial costs +* 🏆 **Rewards** companies for developing actual cures and prevention +* 🚪 **Removes** barriers blocking access to effective treatments +* 📈 **Measures and rewards** real-world results through comprehensive data collection +* 🤖 **Establishes** an AI-powered system (FDAi) to continuously analyze treatment outcomes + +### 1.4 💸 Economic Impact + +This Act will: + +* 💰 **Cut clinical trial costs** by over 90% with free open infrastructure +* 💵 **Save over [$2 trillion annually](https://milkeninstitute.org/report/costs-chronic-disease-us)** by incentivizing disease prevention +* ⏩ **Reduce time-to-market** by years through universal trial participation +* 🎁 **Create multi-billion dollar rewards** for companies developing actual cures +* 🌐 **Enable real price competition** through global access and transparent outcomes + +## 🌐 SECTION 2. GLOBAL DECENTRALIZED AUTONOMOUS ALGORITHMIC FOOD AND DRUG ADMINISTRATION + +### 2.1 🛡️ Transforming Safety and Efficacy Testing + +A free public decentralized trial platform will: + +* 🔄 Replace traditional Phase 1-4 trials with continuous real-world evidence collection +* 📡 Enable efficient safety testing through remote monitoring and rapid signal detection +* 📈 Track safety and effectiveness automatically across the healthcare system +* 🚀 Generate better evidence faster with universal participation +* 🧬 Identify optimal treatments for specific patient profiles swiftly + +### 2.2 🌍 Universal Participation + +The platform enables: + +* 👥 **Broader testing** with diverse participants +* 🏠 **Any patient** to participate from home or remotely +* 📱 **Remote participation** via telemedicine +* 📲 **Patient monitoring** through mobile devices and apps +* 📊 **Automated outcome tracking** via electronic health records +* 📝 **Direct patient reporting** of experiences and results +* 📚 **Continuous real-world evidence** collection + +### 2.3 🤖 FDAi: Autonomous Agent + +The FDAi continuously: + +* 🧠 **Analyzes** all available research and patient data +* 📊 **Quantifies** positive and negative effects of: + * 💊 Pharmaceutical drugs + * 🍎 Food products and ingredients + * 🥗 Dietary patterns + * 🧪 Treatment combinations +* 🚨 **Provides early warnings** of potential safety issues +* 🔍 **Identifies optimal treatments** for specific patient profiles +* 📈 **Monitors population-level health outcomes** +* 🍽️ **Tracks food-drug interactions** and dietary impacts + +## 🔓 SECTION 3. UNIVERSAL ACCESS TO TREATMENTS + +### 3.1 🚧 Simple Treatment Access + +Any patient can: + +* 📱 **Access the dFDA platform** showing ranked treatments for their condition +* 🔍 **See real-world success rates** from other patients with similar conditions +* ✅ **Try treatments sequentially** from most to least promising +* 🏡 **Participate from home** through telemedicine and remote monitoring +* 📊 **Automatically contribute their results** to help rank treatments better + +### 3.2 🚫 Effortless Patient Participation + +The system: + +* 💻 **Automates enrollment** in decentralized trials +* 🏃 **Starts immediately** after basic safety verification +* 📈 **Updates rankings daily** based on patient outcomes +* 🤝 **Connects patients directly** to treatment providers +* 💊 **Ships medications** straight to patients' homes + +### 3.3 📊 Continuous Improvement + +Every patient outcome: + +* 📱 **Updates treatment rankings** automatically +* 🎯 **Refines matching** of treatments to patient profiles +* 💡 **Identifies promising combinations** that work better +* ⚡ **Speeds up discovery** of what works for who + +## 💻 SECTION 4. FREE OPEN SOURCE TRIAL PLATFORM + +### 4.1 💸 Replacing Expensive Systems + +A decentralized trial platform will: + +* 🗃️ **Handle all trial data collection** +* 📈 **Track real-world outcomes** +* 🛡️ **Monitor safety automatically** +* 🔍 **Analyze what works best** +* 🤝 **Connect patients and doctors** +* 🌍 **Share results globally** +* ⚙️ **Automate trial recruitment, monitoring, and analysis** + +### 4.2 🏷️ Eliminating Unnecessary Costs + +The platform eliminates expenses for: + +* 💾 **Trial software and systems** +* 📱 **Patient monitoring tools** +* 🗄️ **Data collection and storage** +* 📊 **Analysis and reporting** +* 📋 **Compliance tracking** +* 🔐 **Security infrastructure** + +### 4.3 📈 Better Data, Better Decisions + +The platform automatically: + +* 🧩 **Matches similar patients** +* 🏆 **Identifies optimal treatments** based on real-world outcomes +* 🚨 **Spots potential problems early** +* 📊 **Shows comparative effectiveness** +* 💲 **Compares treatment costs** +* 🔍 **Helps patients find optimal care** + +### 4.4 🌐 Open To Everyone + +Anyone can: + +* 📚 **Access aggregated and anonymized trial data** +* 🛠️ **Build new analysis tools** to integrate with the platform +* 📱 **Create patient apps** +* 🛠️ **Improve the platform** +* ➕ **Add new features** + +### 4.5 🌍 Global Collaboration + +The platform supports: + +* 🌐 **Recognition of international safety data** +* 📝 **Harmonized global reporting standards** +* 🤝 **Cross-border research collaboration** +* 💲 **Transparent pricing** across regions +* 🌎 **International treatment access** + +## 💰 SECTION 5. FINANCIAL INCENTIVES FOR CURES + +### 5.1 🚀 Removing Barriers To Treatment Development and Accessibility + +#### 5.1.1 💸 Current Fee Barriers + +* 🏢 **Government-imposed fees block innovation:** + * 💊 $4M fee for new drug applications + * 📊 $2M fee for applications without clinical data + * 💉 $1.4M annual program fee per approved drug + * 🚫 Impact on innovation: + * 🌱 Blocks small biotech startups + * 🔬 Prevents university research commercialization + * 🏥 Excludes non-profit organizations + * 👥 Stops patient-driven initiatives + +#### 5.1.2 🌍 International Access Barriers + +* 🚫 **Current import restrictions:** + * ❌ Individual import largely illegal + * 🏥 No pharmacy imports for resale + * 🔄 Duplicate approval requirements + * ✅ Must repeat process even for proven treatments + * 🏭 Redundant facility inspections + * 📊 Duplicate clinical trials + +#### 5.1.3 💰 Cost Impact + +* 📈 **Price inflation factors:** + * 💸 Duplicate regulatory costs passed to patients + * 🚫 Lack of international competition + * 🏢 Regional monopolies + * 📊 50-90% higher prices than other countries + +#### 5.1.4 🌟 Proposed Solutions + +* 💸 **Eliminate government-imposed fees** +* 🌍 **Enable free importation** from trusted sources: + * 🇪🇺 European Medicines Agency (EMA) + * 🇬🇧 UK's MHRA + * 🇯🇵 Japan's PMDA + * 🇨🇭 Swiss Medic +* 📊 **Benefits:** + * 💰 Lower treatment costs + * ⚡ Faster access to proven treatments + * 🏆 True price competition + * 🌐 Global price parity + * 🚫 Prevention of price gouging + +### 5.2 🩺 Healthcare Savings Sharing Program + +#### Win-Win: Manufacturers and Society Split Healthcare Savings 50/50 + +##### Example: Age-Related Disease Prevention 🧬 + +- **Average lifetime healthcare costs:** $1.2M per person 📊 +- **~80% of costs are from age-related diseases:** $960k 👴 +- **Treatment reduces lifetime costs by:** $750k per person 📉 +- **At $10k per treatment, 1 million people can afford it** 👥 +- **Total lifetime savings:** $750 billion 💰 + - **Society keeps:** $375 billion in savings 🏥 + - **Manufacturer receives:** $375 billion in rewards 🎯 +- **Additional savings from increased productivity and reduced care needs** 📈 + +#### Massive Economic Benefits 📊 + +- **Government healthcare costs cut in half** 📉 +- **Patients save thousands on treatment costs** 💰 +- **Insurance premiums drop dramatically** ⬇️ +- **Taxpayers save trillions long-term** 💎 +- **Healthcare becomes sustainably affordable** 🌟 + +### This creates a virtuous cycle: + +- **Lower prices → More patients can afford treatment** 💫 +- **More patients → Higher total savings generated** 📈 +- **Higher savings → Bigger rewards for manufacturers** 🎯 +- **Bigger rewards → More investment in cures** 🚀 +- **More cures → Even more healthcare savings** 💰 + +#### Eligible Treatments Include: + +- **Age reversal therapies** 🧬 +- **Gene therapies** 🧬 +- **Disease prevention treatments** 🛡️ +- **Regenerative medicine** 🔄 +- **Longevity treatments** ⏳ + +#### Implementation: + +- **The Decentralized FDA tracks long-term health outcomes** 📊 +- **Transparent savings calculations** 🧮 +- **Independent verification of results** ✅ +- **Automated payment distribution** 💸 + +## 🌟 SECTION 6. BENEFITS OVER CURRENT SYSTEM + +### 6.1 💲 Cheaper + +* 💸 **Eliminates billions** in redundant trial infrastructure costs +* 🚫 **Removes expensive middlemen** and administrative overhead +* 🌐 **Enables global price competition** through open access +* 💰 **Shares cost savings** from prevention back to developers +* 🏥 **Reduces healthcare spending** through earlier intervention +* 🛠️ **Cuts development costs** by over 90% through shared platform +* 🔄 **Eliminates duplicate safety testing** across regions + +### 6.2 ⚡ Faster + +* ⏳ **Removes years** of administrative delays +* 🚀 **Enables immediate trial participation** for interested patients +* 🤖 **Automates patient matching and enrollment** +* 🕒 **Provides real-time safety and efficacy monitoring** +* 🧠 **Accelerates treatment optimization** through AI analysis +* **Eliminates redundant approval processes** across countries +* 🔄 **Enables rapid iteration** based on real-world evidence + +### 6.3 🌟 Better + +* 👥 **Includes all willing patients** instead of just 3% +* 📊 **Generates real-world evidence** across diverse populations +* 🎯 **Identifies optimal treatments** for specific patient profiles +* 🚨 **Catches safety issues earlier** through comprehensive monitoring +* 🔄 **Enables continuous improvement** through global collaboration +* 🤝 **Aligns profit incentives** with actual health outcomes +* 🌍 **Democratizes access** to promising treatments \ No newline at end of file diff --git a/decentralized-clinical-trial-drug-registration-process.mermaid b/decentralized-clinical-trial-drug-registration-process.mermaid new file mode 100644 index 00000000..5758e50b --- /dev/null +++ b/decentralized-clinical-trial-drug-registration-process.mermaid @@ -0,0 +1,18 @@ +graph TD + A["Login to company account"] --> B["Click 'Register New Drug'"] + B --> C["Enter drug information"] + C --> D["Upload documentation"] + D --> E["AI generates study protocols"] + E --> F{"Review and approve protocols"} + F -->|"Approved"| G["System submits for regulatory review"] + F -->|"Needs adjustment"| E + G --> H["Begin participant recruitment"] + H --> I["Receive enrollment updates"] + I --> J["Ship drug to pharmacies/participants"] + J --> K["System manages trial logistics"] + K --> L["Monitor trial progress"] + L --> M{"Trial complete?"} + M -->|"No"| L + M -->|"Yes"| N["System generates final report"] + N --> O["Receive final report"] + O --> P["Make development decisions"] \ No newline at end of file diff --git a/dfda-executive-order.md b/dfda-executive-order.md new file mode 100644 index 00000000..5734f57d --- /dev/null +++ b/dfda-executive-order.md @@ -0,0 +1,89 @@ +**TRANSFORMING THE FDA INTO A DECENTRALIZED, PATIENT-CENTRIC PLATFORM TO ACCELERATE MEDICAL INNOVATION AND EXPAND ACCESS TO SAFE, EFFECTIVE TREATMENTS** + +*It is hereby ordered as follows:* + +--- + +### **Section 1. Purpose** +The Food and Drug Administration (FDA) must transition from a centralized, gatekeeping model to a **decentralized global autonomous algorithmic FDA (DA-FDA)**. This transformation will: +- **Eliminate artificial barriers** between patients and treatments that have demonstrated basic safety. +- **Reduce costs** by automating clinical research, leveraging decentralized trials, and aggregating global real-world data. +- **Empower patients** with personalized, quantitative assessments of all available interventions. + +--- + +### **Section 2. Definitions** +(a) **"Decentralized Autonomous FDA (DA-FDA)"**: A blockchain-secured, AI-driven platform that continuously analyzes anonymized real-world data (RWD) from global clinical trials, electronic health records, and patient-reported outcomes to rank treatments by safety and efficacy. +(b) **"Decentralized Clinical Trials (DCTs)"**: Trials conducted via telemedicine, wearable sensors, and direct-to-patient supply chains, with no physical trial sites. +(c) **"N-of-1 analysis"**: A personalized assessment of an individual’s response to a treatment, calculated by comparing their baseline health data to post-intervention outcomes. + +--- + +### **Section 3. Policy** + +#### **3.1 Establishment of the Decentralized Autonomous FDA** +Within 180 days, the Secretary of Health and Human Services (HHS) shall: +(a) Develop and deploy the **DA-FDA platform**, integrating: +- Blockchain technology for immutable, transparent data sharing (e.g., Hyperledger Fabric). +- Machine-learning models trained on the "entire universe" of clinical and RWD, including international datasets (EU EMA, Japan PMDA). +- Automated adverse-event detection using Natural Language Processing (NLP) of social media, EHRs, and pharmacy records. +(b) Partner with the National Institute of Standards and Technology (NIST) to ensure algorithmic fairness, reproducibility, and compliance with CFR Title 21. +(c) Collaborate with the World Health Organization (WHO) to adopt global data-sharing standards (e.g., HL7 FHIR). + +#### **3.2 Patient Access to Decentralized Clinical Trials** +(a) **Right to Self-Experiment**: Patients may participate in DCTs for any treatment that has completed Phase I safety testing, at their own expense if necessary. +- Providers and trial sponsors may not be held liable for off-label use in DCTs (pursuant to 21 U.S.C. § 396). +- Institutional Review Boards (IRBs) shall approve all DCT protocols within 30 days if they meet basic safety criteria (per 45 CFR § 46.109). +(b) **Crowdfunding and Direct Payments**: Patients may crowdfund or directly pay for experimental treatments without triggering FDA "marketing" restrictions (21 CFR § 312.7). + +#### **3.3 Elimination of Economic Barriers** +(a) **Abolish Pharma User Fees**: The FDA shall cease collection of Prescription Drug User Fee Act (PDUFA) and Generic Drug User Fee Act (GDUFA) fees. Funding gaps shall be offset by: +- Reallocating 50% of savings from automated trial oversight to FDA operations. +- Grants from the National Institutes of Health (NIH) for high-priority public health tools (e.g., antibiotics, Alzheimer’s drugs). +(b) **End Regulatory Monopolies**: The FDA shall no longer grant market exclusivity periods for new drugs (21 U.S.C. § 355). Competition from generics, biosimilars, and repurposed therapies shall begin immediately upon approval. + +#### **3.4 Real-World Data Sharing Mandate** +(a) **Open Outcomes Platform**: The FDA shall create a secure portal for patients and providers to upload de-identified "before and after" health data (e.g., lab results, wearable device metrics, symptom diaries) for all food, drug, and supplement use. +- Data contributors retain ownership and may revoke access at any time (GDPR compliance required). +- The DA-FDA shall analyze this data in real time to update treatment rankings. +(b) **N-of-1 Analysis**: For every patient, the DA-FDA shall automatically generate: +- A personalized dashboard showing their response to interventions (e.g., "Drug X reduced your migraine frequency by 42%"). +- Aggregated N-of-1 results to calculate population-level effect sizes (e.g., "Drug X works for 68% of female patients aged 30–50"). + +#### **3.5 Quantitative Treatment Rankings** +(a) **Dynamic Safety/Efficacy Scores**: The DA-FDA shall publish continuously updated rankings of all treatments for every condition, including: +- Off-label uses (e.g., "Metformin for longevity"). +- Alternative therapies (e.g., "Medical cannabis for chronic pain"). +- Comparative effectiveness vs. current standards of care (e.g., "Drug Y is 1.3x more effective than Drug Z but costs 8x more"). +(b) **Outcome Labels**: Replace static drug labels with concise, data-driven summaries: +- "Positive effects: 23% reduction in mortality (95% CI: 19–27%). +- Negative effects: 8% risk of severe nausea (95% CI: 6–10%). +- Probability of success for your profile: 72%." + +--- + +### **Section 4. Implementation** +(a) The HHS Secretary shall establish a **DA-FDA Task Force** with representatives from NIH, CDC, FTC, and patient advocacy groups (e.g., PatientsLikeMe, OpenTrials). +(b) Within 365 days, the FDA shall: +- Sunset all legacy review processes for DCTs and RWD-based approvals. +- Launch a public API for third-party developers to build DA-FDA-compliant apps. +(c) The Federal Trade Commission (FTC) shall enforce penalties against entities that withhold or manipulate treatment outcome data (15 U.S.C. § 45). + +--- + +### **Section 5. General Provisions** +(a) This order does not impair existing patient rights under the Right to Try Act (Pub. L. 115-176). +(b) $1.2 billion is hereby reallocated from the NIH budget to fund DA-FDA development. +(c) This order is effective immediately. + + +--- + +**Rationale & Legal Authority** +- **21 U.S.C. § 393(b)(2)(B)**: Directs the FDA to "advance public health by accelerating innovation." +- **21st Century Cures Act § 3022**: Mandates use of RWD and patient-reported outcomes in regulatory decisions. +- **Executive Order 13944 (2020)**: Precedent for prioritizing access to life-saving therapies. + +**Precedent**: Estonia’s blockchain-based health system ([X-Road](https://e-estonia.com/solutions/interoperability-services/x-road/)) and the UK’s [Decentralized Trials & Research Alliance](https://dtra.org/) demonstrate feasibility. + +**Expected Outcome**: A 10x increase in treatment approvals (30→300/year) and 90% cost reduction in drug development within 5 years. \ No newline at end of file diff --git a/dfda-sitemap.md b/dfda-sitemap.md new file mode 100644 index 00000000..792e5e6e --- /dev/null +++ b/dfda-sitemap.md @@ -0,0 +1,183 @@ +## Top-Level Pages + +1. **Home** + - Overview of the dFDA mission + - Key metrics (number of ongoing trials, treatments ranked, participants) + - Quick links to sign up/log in, explore treatment rankings, or start a trial + +2. **About** + - Mission & Vision + - How the dFDA Works (Algorithms, Data Sources, Governance) + - Privacy & Security Policies + - FAQs + +3. **Get Involved** + - For Patients (How to participate, share data, find treatments) + - For Researchers (How to create trials, access anonymized data) + - For Clinicians (How to view rankings, order treatments/labs) + - For Developers (API docs, integration guides) + - For Funders/Policymakers (Contact info, whitepapers, policy briefs) + +4. **Treatments & Rankings** + - Condition-Based Listings: Browse treatments by disease/condition + - Overall Rankings: Top treatments globally, updated in real-time + - Search & Filters: Narrow by condition, cost, side effects, QALYs, popularity + - Individual Treatment Pages: Detailed info, QALY scores, user ratings, side effects, cost, ordering options + +5. **Trials** + - Ongoing Trials: List of active trials users can join + - Trial Creation Portal (For Researchers/Clinicians) + - Trial Management Dashboard (Progress, enrolled participants, interim results) + - Historical Trials: Archived results and published findings + +6. **Data & Analytics** + - Personalized Health Dashboard (For logged-in users) + - Personal Treatment History, Lab Results, Dietary Logs, Symptom Logs + - Personalized Effectiveness Scores (Which interventions worked best for you?) + - Aggregated Analytics + - Real-time statistics on treatment effectiveness + - Condition prevalence maps + - Food and drug interaction analytics + - Comparative cost-effectiveness analyses + - Research Data Portal (For approved researchers) + - Download anonymized datasets + - API access to aggregated metrics + +7. **Ordering & Fulfillment** + - Treatment Ordering Page (For authorized medical professionals and patients where legally allowed) + - E-prescriptions (if regulated) + - Direct-to-consumer ordering (in jurisdictions that allow it) + - Lab Ordering Page + - Choose from recommended test panels + - Integration with lab networks for fulfillment + - Tracking & Notifications + - Shipment tracking (where treatments/meds are shipped) + - Appointment scheduling for in-person interventions + - Status updates on lab results + +8. **Participation & Reporting** + - Symptom & Outcome Recording + - Daily symptom tracking forms + - Automated reminders and push notifications + - Integration with wearables, health apps (Apple Health, Google Fit) + - Side Effect Reporting + - One-click side effect report form on each treatment page + - Severity rating scale + - Follow-up prompts to provide more detail + - Rating & Feedback + - Users rate treatment effectiveness after set intervals + - Comment sections for qualitative feedback + +9. **Device & App Integration** + - App & Device Sync Settings + - Connect wearables (Fitbit, Apple Watch, Garmin) + - Link dietary apps (MyFitnessPal, Cronometer) + - Connect telemedicine platforms & EHR systems + - Data Permissions + - Control which apps can write data to the dFDA + - Specify intervals for automatic data imports + +10. **Reminders & Notifications** + - Medication & Treatment Reminders + - Appointment and Check-Up Alerts + - Trial Participation Follow-Ups + - Personalized Health Insights Alerts (e.g., “People like you saw improvements with Treatment X.”) + +11. **Research & Developer Tools** + - API Documentation + - Developer Sandbox & Test Environment + - Code Repositories & Open-Source Projects + - Guidelines for Data Submission Standards (FHIR, HL7) + - Prediction Model Plugins (Submit machine learning models for treatment ranking) + +12. **Governance & Community** + - Governance Model (DAO-like proposals and voting if applicable) + - Public Proposals & Amendments (View, discuss, vote on changes to algorithms, data standards, incentive structures) + - Community Forum + - Transparency Reports (Data audits, security audits, performance metrics) + +13. **Legal & Compliance** + - Terms of Service + - Privacy Policy + - Compliance with Healthcare Regulations (HIPAA, GDPR, etc. where applicable) + - Security Certifications and Audit Logs + - Disclaimer & Liability Information + +14. **Support & Help** + - Knowledge Base & Tutorials + - Video Guides (How to find treatments, join a trial, connect a wearable) + - Help Desk / Ticketing System + - Contact Form + +--- + +## Detailed Feature Breakdown + +**A. Treatment Ranking Features:** +- Algorithmic Scoring based on QALYs, cost, patient ratings, side effects frequency. +- Regular updates as new data streams in. +- Visual comparisons (graphs, charts showing improvement rates, cost curves). + +**B. Trial Creation & Management:** +- User-friendly trial setup wizard for researchers: define inclusion criteria, required data, treatment arms. +- Participant recruitment tools (emails, in-platform notifications). +- Automated randomization and blinding features where applicable. +- Data export formats (CSV, JSON) for external analysis. + +**C. Participant Tools:** +- Personalized Dashboard: + - Timeline of treatments tried. + - Graphs of symptom severity over time. + - Nutritional intake logs integrated from dietary apps. + - Exercise and sleep data from wearables. +- One-click reporting for new symptoms or side effects. +- Reminder settings: text, email, or app push notifications. + +**D. Ordering Treatments & Labs:** +- Digital script requests for doctors (if law permits). +- Partner pharmacies and lab networks integration: + - Direct links to place orders or schedule a blood test. + - Automated insurance verification (if applicable). +- Cost comparison and insurance coverage info (where possible). + +**E. Data Integrations:** +- OAuth-based connections to third-party health apps. +- Import of standardized EHR records using established healthcare APIs. +- Secure upload portals for CSV data from clinical studies. + +**F. Incentives & Rewards (if implemented):** +- Token-based or point system for participants who consistently log data. +- Badges or recognition for researchers who provide high-quality trials. +- Potential integration with incentive structures defined by broader policy frameworks (e.g., 50/50 savings sharing). + +**G. Analysis and Reporting Tools:** +- Condition-specific dashboards (e.g., diabetes: recommended treatments, success rates, patient demographics). +- Dynamic filtering (time range, geography, demographic subsets). +- Trend analyses: improvement or decline over time after certain interventions. + +**H. Security & Privacy:** +- End-to-end encryption for patient data. +- Role-based access control for researchers, clinicians, patients. +- Regular security audits and a public audit log page. +- De-identification protocols for all patient-level data. + +**I. Multi-Language & Accessibility:** +- Language selection dropdown. +- Accessible design (WCAG compliance): screen-reader friendly, large text options, color-contrast settings. + +**J. Educational Content:** +- In-line tooltips explaining QALYs, cost-effectiveness, and other concepts. +- A “Learn More” library with short articles and videos on how to interpret rankings, how trials work, and why data matters. + +--- + +## User Flows + +**1. Patient User Flow:** +- Sign up → Connect health apps → Search condition → View treatment rankings → Pick a top treatment → Check participating clinicians or direct order if allowed → Start treatment → Log symptoms/diet → Receive reminders → See personal improvement charts. + +**2. Researcher User Flow:** +- Sign in as researcher → Create new trial → Define patient criteria → Launch recruitment → Monitor trial dashboard (data streaming in) → Export anonymized datasets → Publish interim results → Communicate findings to the community. + +**3. Clinician User Flow:** +- Sign in → View updated treatment rankings for patient’s condition → Suggest top treatment → Order labs or prescriptions via integrated partners → Follow up on patient’s outcome data → Adjust recommendations based on new dFDA insights. diff --git a/dfda-wide-text-logo-transparent-4-light-background.svg b/dfda-wide-text-logo-transparent-4-light-background.svg new file mode 100644 index 00000000..31e4f7c5 --- /dev/null +++ b/dfda-wide-text-logo-transparent-4-light-background.svg @@ -0,0 +1,112 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/dfda-wide-text-logo-white-background.png b/dfda-wide-text-logo-white-background.png new file mode 100644 index 00000000..63096e26 Binary files /dev/null and b/dfda-wide-text-logo-white-background.png differ diff --git a/disease-eradication-act/disease-eradication-act-cost-benefit-analysis.md b/disease-eradication-act/disease-eradication-act-cost-benefit-analysis.md new file mode 100644 index 00000000..06a63bca --- /dev/null +++ b/disease-eradication-act/disease-eradication-act-cost-benefit-analysis.md @@ -0,0 +1,257 @@ +# Quantitative Cost-Benefit Analysis of the Disease Eradication Act + +## Executive Summary + +The [**Disease Eradication Act**](./disease-eradication-act.md) proposes transformative changes to the healthcare system, aiming to reduce drug development costs, expedite access to treatments, and incentivize cures and preventive care. This analysis quantifies the potential economic impacts, balancing the estimated benefits against the anticipated costs. + +- **Total Estimated Annual Benefits**: **Up to \$2.25 trillion** +- **Total Estimated Annual Costs**: **Approximately \$10 billion (initial and ongoing)** +- **Net Annual Benefit**: **Up to \$2.24 trillion** + +--- + +## Table of Contents + +- [Quantitative Cost-Benefit Analysis of the Disease Eradication Act](#quantitative-cost-benefit-analysis-of-the-disease-eradication-act) + - [Executive Summary](#executive-summary) + - [Table of Contents](#table-of-contents) + - [Introduction](#introduction) + - [Key Components of the Act](#key-components-of-the-act) + - [Quantified Benefits](#quantified-benefits) + - [1. Clinical Trial Cost Savings](#1-clinical-trial-cost-savings) + - [Current Costs:](#current-costs) + - [Proposed Savings:](#proposed-savings) + - [2. Savings from Disease Prevention](#2-savings-from-disease-prevention) + - [Current Spending:](#current-spending) + - [Potential Savings:](#potential-savings) + - [3. Drug Price Reductions through Global Competition](#3-drug-price-reductions-through-global-competition) + - [Current Costs:](#current-costs-1) + - [Potential Savings:](#potential-savings-1) + - [4. Economic Benefits from Faster Time-to-Market](#4-economic-benefits-from-faster-time-to-market) + - [Current Situation:](#current-situation) + - [Proposed Improvements:](#proposed-improvements) + - [5. Financial Incentives for Cures](#5-financial-incentives-for-cures) + - [Example Scenario:](#example-scenario) + - [Estimated Costs](#estimated-costs) + - [1. Implementation Costs](#1-implementation-costs) + - [Decentralized Trial Platform and FDAi System:](#decentralized-trial-platform-and-fdai-system) + - [Transition Costs:](#transition-costs) + - [Total Initial Costs:](#total-initial-costs) + - [Total Annual Costs:](#total-annual-costs) + - [2. Potential Risks and Mitigation Costs](#2-potential-risks-and-mitigation-costs) + - [Increased Adverse Events:](#increased-adverse-events) + - [Total Annual Risk Mitigation Costs:](#total-annual-risk-mitigation-costs) + - [3. Impact on Existing Stakeholders](#3-impact-on-existing-stakeholders) + - [Economic Impact:](#economic-impact) + - [Cost-Benefit Comparison](#cost-benefit-comparison) + - [Conclusion](#conclusion) + - [Assumptions and Limitations](#assumptions-and-limitations) + - [References](#references) + +--- + +## Introduction + +The current healthcare system faces significant challenges, including high drug development costs, lengthy approval processes, limited patient access to clinical trials, and escalating drug prices. The **Disease Eradication Act** aims to address these issues by overhauling the drug development and approval process, leveraging technology, and aligning financial incentives with health outcomes. + +This analysis provides a quantitative evaluation of the Act's potential economic benefits and costs. + +## Key Components of the Act + +- **Decentralized Trial Platform**: Creation of a free, open-source platform for clinical trials. +- **FDAi System**: An AI-powered system to analyze treatment outcomes continuously. +- **Universal Treatment Access**: Guaranteed right for patients to try treatments after basic safety testing. +- **Elimination of Regulatory Fees**: Removal of government-imposed fees that hinder innovation. +- **Global Drug Importation**: Allowing importation from trusted international regulatory bodies. +- **Financial Incentives for Cures**: Sharing healthcare savings with manufacturers who develop effective treatments. + +## Quantified Benefits + +### 1. Clinical Trial Cost Savings + +#### Current Costs: + +- **Average Drug Development Cost**: \$2.6 billion per drug[^1]. +- **Clinical Trial Portion**: Approximately 60% (\$1.56 billion). + +#### Proposed Savings: + +- **Reduction in Trial Costs**: **90%** savings via the decentralized platform. +- **Savings per Drug**: \$1.404 billion. +- **Estimated New Drugs Annually**: 50. +- **Total Annual Savings**: + + $1.404 billion/drug × 50 drugs = $70.2 billion + +### 2. Savings from Disease Prevention + +#### Current Spending: + +- **Annual Healthcare Expenditure**: \$4.1 trillion[^2]. +- **Spending on Chronic Diseases**: 90% (\$3.69 trillion). +- **Current Preventive Care Spending**: 5% (\$205 billion). + +#### Potential Savings: + +- **Return on Preventive Care**: Every \$1 spent saves \$3[^3]. +- **Increased Preventive Spending**: Doubling to 10% (\$410 billion). +- **Additional Savings**: + + ($410 billion - $205 billion) × 3 = $615 billion + +- **Total Annual Savings**: **Up to \$615 billion** + +### 3. Drug Price Reductions through Global Competition + +#### Current Costs: + +- **Annual Prescription Drug Spending in the US**: \$360 billion[^4]. +- **US Drug Prices**: 50-90% higher than other countries[^5]. + +#### Potential Savings: + +- **Average Price Reduction**: 50%. +- **Annual Savings**: + + \$360\text{ billion} \times 50\% = \$180\text{ billion} + +### 4. Economic Benefits from Faster Time-to-Market + +#### Current Situation: + +- **Time-to-Market**: 7-12 years. + +#### Proposed Improvements: + +- **Reduced Time-to-Market**: By **4 years**. +- **Economic Value of Earlier Access**: + + - **Value of a Statistical Life (VSL)**: \$10 million[^6]. + - **Lives Potentially Saved Annually**: Assume treatments affect 100,000 patients. + - **Total Economic Benefit**: + + 100,000 patients × $10 million = $1 trillion + +- **Annualized Benefit Over 4 Years**: + + $1 trillion ÷ 4 = $250 billion + +### 5. Financial Incentives for Cures + +#### Example Scenario: + +- **Treatment Reduces Lifetime Costs by**: \$750,000 per person. +- **Patients Receiving Treatment**: 1 million. +- **Total Lifetime Savings**: + + $1 million × $750,000 = $750 billion + +- **Manufacturer's Reward (50%)**: + + $750 billion × 50% = $375 billion + +- **Annualized Savings and Rewards**: + + - **Assuming Savings Realized Over 30 Years**: + $750 billion ÷ 30 = $25 billion per year + - **Annual Reward to Manufacturer**: + $25 billion × 50% = $12.5 billion + +--- + +**Total Estimated Annual Benefits**: + +- **Clinical Trial Savings**: \$70.2 billion +- **Disease Prevention Savings**: \$615 billion +- **Drug Price Reductions**: \$180 billion +- **Faster Time-to-Market Benefits**: \$250 billion +- **Manufacturer Incentives**: \$12.5 billion (cost to the system but incentive for cures) + +**Total**: **\$1.1277 trillion** + +*Note: The total benefits are conservative estimates and may overlap in certain areas.* + +## Estimated Costs + +### 1. Implementation Costs + +#### Decentralized Trial Platform and FDAi System: + +- **Initial Development Cost**: \$5 billion. +- **Annual Operating Cost**: \$1 billion. + +#### Transition Costs: + +- **Training and Integration**: \$2 billion (one-time). +- **Regulatory Overhaul**: \$1 billion (one-time). + +#### Total Initial Costs: + +$5 billion (development) + $2 billion (training) + $1 billion (regulatory) = $8 billion + +#### Total Annual Costs: + +$1 billion (operation) + +### 2. Potential Risks and Mitigation Costs + +#### Increased Adverse Events: + +- **Monitoring and Safety Systems**: \$500 million annually. +- **Legal Liabilities and Insurance**: \$500 million annually. + +#### Total Annual Risk Mitigation Costs: + +$500 million + $500 million = $1 billion + +### 3. Impact on Existing Stakeholders + +#### Economic Impact: + +- **Revenue Loss for Certain Companies**: Difficult to quantify but may result in market shifts. +- **Job Displacement**: Potential retraining costs for affected workers (\$1 billion). + +--- + +**Total Estimated Initial Costs**: **\$10 billion** + +**Total Estimated Annual Costs**: **\$2 billion** + +## Cost-Benefit Comparison + +- **Total Estimated Annual Benefits**: **Up to \$1.1277 trillion** +- **Total Estimated Annual Costs**: **Approximately \$2 billion** +- **Net Annual Benefit**: + + $1.1277 trillion - $2 billion = $1.1257 trillion + +- **Initial One-Time Costs**: **\$10 billion** + +The benefits overwhelmingly outweigh the costs, even when considering potential overlaps and conservative estimates. + +## Conclusion + +The **Disease Eradication Act** presents a compelling economic case, with potential annual benefits exceeding \$1 trillion against relatively modest implementation and operational costs. By reducing drug development expenses, lowering drug prices through global competition, accelerating access to treatments, and incentivizing preventive care and cures, the Act could transform healthcare economics. + +## Assumptions and Limitations + +- **Estimates are Based on Available Data**: Actual figures may vary based on real-world implementation. +- **Overlap of Benefits**: Some savings may overlap; total benefits are not necessarily additive. +- **Behavioral Responses**: Assumes stakeholders adapt positively to changes. +- **Regulatory Acceptance**: Assumes smooth regulatory transitions without significant pushback. +- **Economic Valuations**: Value of Statistical Life (VSL) is a standard estimate but can vary. + +## References + +[^1]: DiMasi, J. A., et al. (2016). Innovation in the pharmaceutical industry: New estimates of R&D costs. *Journal of Health Economics*, 47, 20-33. + +[^2]: Centers for Medicare & Medicaid Services. National Health Expenditure Data. (2021). + +[^3]: Trust for America's Health. (2013). A Healthier America: Savings from Prevention. + +[^4]: Kesselheim, A. S., et al. (2016). The high cost of prescription drugs in the United States. *JAMA*, 316(8), 858-871. + +[^5]: Sarnak, D. O., et al. (2017). Paying for Prescription Drugs Around the World: Why Is the U.S. an Outlier? *The Commonwealth Fund*. + +[^6]: U.S. Department of Transportation. (2021). Guidance on Treatment of the Economic Value of a Statistical Life. + diff --git a/disease-eradication-act/disease-eradication-act-details.md b/disease-eradication-act/disease-eradication-act-details.md new file mode 100644 index 00000000..8796dc55 --- /dev/null +++ b/disease-eradication-act/disease-eradication-act-details.md @@ -0,0 +1,280 @@ +# Disease Eradication Act + +## Section 1. Short Title and Findings + +### 1.1 Title + +Cited as the "Disease Eradication Act." + +### 1.2 Core Findings + +1. **Current System Failures** + - FDA approval process delays access to life-saving treatments by 7-12 years on average. + - Only 3% of patients qualify for traditional clinical trials due to strict eligibility criteria, leaving most + without access to new treatments. + - Real-world outcome data (actual patient results) is collected for less than 10% of approved drugs. + - 97% of patients are excluded from clinical trials due to strict eligibility criteria. + - Geographic restrictions force patients to travel hundreds of miles to trial sites. + - $2.6B average cost of drug development drives 10-100x markup in consumer prices. + - Terminal patients wait 4+ years for breakthrough therapy approvals. + - Treatments available in Europe/Asia take 3-5 additional years for US approval. + - Companies invest 80% of R&D in drugs costing >$100k/year vs. affordable alternatives. + - Only 5% of healthcare spending goes to preventive care despite 3x return on investment (meaning + every $1 spent saves $3 in future costs). + - Less than 10% of approved drugs have comprehensive real-world outcome data. +2. **Solution Framework** + - Enable all patients to participate in decentralized trials (studies conducted remotely from patients' locations) + from home, hospitals, or any care setting. + - Transform clinical trials into transparent, real-world data collection that includes all willing patients. + - Guarantee treatment access across geographic locations through telemedicine and home delivery. + - Create financial incentives for treatments that improve outcomes and reduce healthcare costs. + - Build a comprehensive database of patient experiences to inform treatment decisions. + - Refocus FDA on safety verification, data quality, and public health protection rather than access restriction. +3. **Establishment of Decentralized FDA (dFDA) Protocol** + - The **Decentralized FDA (dFDA)** cryptographic protocol and framework is established to automate decentralized + clinical research, store and analyze data, and publish aggregated and anonymized outcome labels quantifying all + positive and negative effects of foods and drugs. + +## Section 2. Patient and Provider Access Rights + +### 2.1 Universal Right to Treatment + +Patients may access treatments that: + +- Completed Phase 1 safety testing (initial human trials focusing on safety and side effects). +- Have published safety data. +- Are registered for outcome tracking. +- Feature accurate labeling and manufacturing standards. + +### 2.2 Access Protection + +FDA and states cannot restrict: + +- Treatment choices post safety verification. +- Treatment administration locations. +- Doctor prescribing rights. +- Manufacturing meeting safety standards. +- Importing from qualified facilities. +- Home-based delivery and remote monitoring. +- Telemedicine prescribing. + +### 2.3 Provider and International Access Rights + +Providers may: + +- Prescribe any registered treatment. +- Source from any registered manufacturer. +- Import treatments for patients. +- Engage in outcome tracking. +- Deliver home-based care and use telemedicine. +- Monitor remotely and operate across state lines. + +## Section 3. dFDA + +### 3.1 Establishment + +The dFDA shall: + +- Replace restricted trials with inclusive tracking. +- Support participation from any location. +- Enable home-based monitoring. +- Track real-world outcomes and healthcare costs. +- Facilitate treatment comparisons and reward calculations. + +### 3.2 Universal Data Collection + +Providers must report: + +- Patient conditions using standardized ICD-11 codes and SNOMED CT terminology +- Treatments administered, including: + - Drug name, dosage, frequency, and duration + - Treatment protocols followed + - Combination therapies used +- Health outcomes measured by: + - Clinical measurements and lab results + - Standardized outcome scales (e.g., PROMIS measures) + - Survival rates and disease progression metrics +- Adverse events categorized by: + - Severity (using CTCAE v5.0 criteria) + - Causality assessment + - Resolution and interventions required +- Treatment costs including: + - Direct medication costs + - Administration costs + - Associated care costs +- Quality of life measures using validated tools: + - SF-36 Health Survey + - EQ-5D questionnaire + - Disease-specific QoL instruments +- Care delivery methods including: + - In-person clinical visits + - Telemedicine consultations + - Home healthcare services + - Emergency or urgent care utilization + - Specialized treatment facilities + +### 3.3 Inclusive Design + +The dFDA must support: + +- Remote data entry and mobile apps. +- Home monitoring devices and telemedicine integration. +- Patient-reported outcomes and caregiver input. +- Multiple languages and accessibility features. + +### 3.4 Public Access + +- De-identified data available through: + - Public web portal + - Downloadable datasets + - Interactive visualization tools +- RESTful API access with: + - OAuth 2.0 authentication + - Rate limiting controls + - Comprehensive documentation + - Versioning support + - Data validation endpoints +- Mobile applications supporting: + - iOS and Android platforms + - Offline data collection + - Push notifications + - Accessibility features +- Cost comparison tools featuring: + - Treatment price transparency + - Insurance coverage information + - Alternative therapy comparisons + - Regional cost variations +- Research access tools including: + - Statistical analysis packages + - Machine learning capabilities + - Cohort selection tools + - Custom query builders + +### 3.5 Privacy Protection + +- De-identification standards following: + - HIPAA Safe Harbor method +- Patient consent requirements: + - Granular data sharing options + - Revocation mechanisms +- Personal data access rights including: + - Complete medical records + - Data export capabilities + - Audit trail access + - Correction mechanisms +- Distributed data architecture: + - Local node requirements + - Synchronization protocols + - Backup procedures + - Disaster recovery plans +- Security measures including: + - End-to-end AES-256 encryption + - Multi-factor authentication + - Access logging + - Intrusion detection + - Regular security audits + +### 3.1.1 FDAi: Autonomous AI Agent + +#### Definition and Purpose + +The **FDAi** (Food and Drug Administration Intelligence) is an autonomous AI agent designed to continually collect and +analyze healthcare research data. It will enhance the capabilities of the dFDA (Decentralized Food and Drug +Administration) by providing real-time insights into treatment outcomes and patient experiences. + +#### Functionality + +- **Data Collection**: FDAi will autonomously gather data from various sources, including clinical trials, patient + reports, and existing research studies. +- **Patient Interaction**: FDAi can contact patients to collect data on symptoms, treatments, dietary habits, and other + relevant health information through secure communication channels. +- **Meta-Analyses**: The AI will combine results from all available studies and data sources to identify trends, + effectiveness, and safety profiles of treatments, contributing to evidence-based decision-making. + +#### Benefits + +- **Improved Data Accuracy**: Continuous data collection minimizes gaps and biases in research data. +- **Enhanced Patient Engagement**: By directly contacting patients, FDAi fosters a more active role in their health + management. +- **Real-Time Insights**: The ability to analyze data in real-time allows for quicker adjustments to treatment protocols + and better patient outcomes. + +## Section 4. Cost and Price Transparency + +### 4.1 International Cooperation + +- **Recognition of International Safety Data:** Accept equivalent international Phase 1 safety data. +- **Harmonized Reporting Standards:** Align with international data reporting. +- **Cross-Border Collaboration:** Foster partnerships among global researchers, manufacturers, and providers. + +### 4.2 Price Transparency and Cost Reduction Measures + +#### a) Public Access + +All pricing information must be accessible through the dFDA for patient and provider comparison. + +### 4.3 Enhancing Competition + +#### a) Facilitating Generic Entry + +- Streamline approval for generic drugs (identical copies of brand-name medications) after demonstrating safety and + basic effectiveness. +- Implement abbreviated pathways to reduce time and costs. + +#### b) Allow Importation of Low-Cost Treatments + +- Allow importation of treatments already approved in other countries (parallel importation) that meet U.S. standards to + increase competition and reduce costs. + +## Section 8. Savings Sharing Program + +### 8.1 Purpose + +Incentivize pharmaceutical companies to develop treatments that prevent disability and reduce government medical costs, +promoting public health and economic efficiency. + +### 8.2 Definitions + +1. **Savings Sharing Program:** A financial incentive system that rewards pharmaceutical companies for developing + treatments that prevent disability and reduce government medical costs. +2. **Cost Savings:** Measurable reductions in government medical expenses, including: + - Fewer hospital stays + - Reduced long-term care needs + - Lower disability-related costs +3. **Evaluation Period:** A five-year monitoring period after treatment approval to measure its impact on public health + and costs. +4. **Independent Assessment Body (IAB):** An external organization that evaluates how well treatments work and + calculates their cost savings to the healthcare system. + +### 8.3 Eligibility Criteria + +Treatments must: + +1. **Approval and Registration:** + - FDA-approved under this Act. + - Registered with the dFDA. +2. **Demonstrated Impact:** + - Evidence of preventing disability or reducing costs through: + - Randomized controlled trials + - Real-world evidence studies + - Health economic analyses + - Public health significance determined by: + - Disease prevalence (>1 in 10,000 population) + - Mortality rate impact + - Quality of life improvement + - Economic burden reduction + - Healthcare resource utilization + +### 8.4 Calculation of Rewards + +#### a) Cost Savings Assessment + +IAB annually assesses savings using the dFDA data, healthcare expenditure reports, and other sources, including +hospitalizations, long-term care, and disability benefits. + +#### b) Reward Calculation + +Rewards are a percentage of verified savings. Specifically, the program incentivizes low-cost treatments by offering a +50% savings sharing reward per patient. This means that for every patient treated, 50% of the cost savings achieved is +rewarded to the manufacturer. Lowering the cost of treatments not only increases accessibility and patient uptake but +also enhances long-term income for manufacturers through higher volume sales. diff --git a/disease-eradication-act/disease-eradication-act-summary.md b/disease-eradication-act/disease-eradication-act-summary.md new file mode 100644 index 00000000..be788a09 --- /dev/null +++ b/disease-eradication-act/disease-eradication-act-summary.md @@ -0,0 +1,48 @@ +# 💖 DISEASE ERADICATION ACT: Executive Summary + +This Act guarantees patient rights to participate in decentralized trials for the most promising treatment. It achieves +this through a free, open-source, decentralized trial platform that eliminates billions in trial costs, rewards +companies for developing cures and prevention, and removes barriers to accessing effective treatments. + +## 📜 SECTION 1. Core Problems & Solutions + +Today's healthcare system suffers from bureaucratic FDA delays, limited clinical trial access, exorbitant drug +development costs, and a focus on expensive treatments. The Disease Eradication Act solves these problems by: + +* **Guaranteeing universal access:** Every person has the right to try treatments after basic safety testing. +* **Creating a free, open platform:** Eliminates billions in trial costs and accelerates development. +* **Rewarding cures and prevention:** Incentivizes the development of affordable, effective treatments. +* **Removing access barriers:** Streamlines the process and makes treatments readily available. +* **Utilizing real-world evidence:** Continuously analyzes treatment outcomes to optimize care. +* **Employing AI-powered analysis:** Provides continuous monitoring and optimization of treatments. + +## 🌐 SECTION 2. The Decentralized Trial Platform + +The Decentralized FDA is a free, public, decentralized trial platform that replaces traditional Phase 1-4 trials with +continuous real-world evidence collection. Key features include: + +* **Universal Participation:** Any patient can participate from anywhere, using telemedicine and mobile apps. +* **Automated Outcome Tracking:** The system automatically tracks safety and effectiveness, generating better evidence + faster. +* **AI-Powered Analysis:** FDAi continuously analyzes data, identifies optimal treatments, and provides early warnings + of safety issues. +* **Open Source and Global:** The platform is open-source, enabling global collaboration and continuous improvement. + +## 🔓 SECTION 3. 50/50 Healthcare Savings Sharing Program + +The Act introduces a 50/50 Healthcare Savings Sharing Program where manufacturers and society split healthcare savings (e.g., +from age-related disease prevention) 50/50. This incentivizes the development of cures and preventative treatments, +leading to lower costs, faster access, and better health outcomes. The program eliminates government-imposed fees and +enables importation of treatments, fostering true price competition and preventing price gouging. + +## 🌟 SECTION 4. Benefits Over the Current System + +The Disease Eradication Act offers significant advantages: + +* **Cheaper:** Eliminates billions in costs, enables global price competition, and shares savings. +* **Faster:** Removes years of delays, automates processes, and enables real-time monitoring. +* **Better:** Includes all willing patients, generates real-world evidence, and continuously improves treatments. + +## [Read the Full Act](/docs/disease-eradication-act) + + diff --git a/disease-eradication-act/disease-eradication-act.jpg b/disease-eradication-act/disease-eradication-act.jpg new file mode 100644 index 00000000..fc74213b Binary files /dev/null and b/disease-eradication-act/disease-eradication-act.jpg differ diff --git a/disease-eradication-act/disease-eradication-act.md b/disease-eradication-act/disease-eradication-act.md new file mode 100644 index 00000000..57265015 --- /dev/null +++ b/disease-eradication-act/disease-eradication-act.md @@ -0,0 +1,89 @@ +# DISEASE ERADICATION ACT + +## 1. PROBLEMS THIS ACT ADDRESSES + +- **Excessive regulatory delays**: Life-saving treatments are held up by slow and costly processes. +- **High development costs**: New drugs can cost billions, pricing out smaller innovators and pushing prices higher for patients. +- **Low patient enrollment**: Less than 5% of patients participate in trials, limiting data and slowing breakthroughs. +- **Poor incentives**: Profit-based drug development often focuses on expensive treatments instead of true cures or prevention. +- **Limited patient rights**: Patients who want to try emerging therapies face legal and bureaucratic barriers. + +--- + +## 2. PATIENT RIGHTS + +1. **Freedom to Participate in Decentralized Global Trials** + - Any patient can join open research efforts that meet basic safety standards. + - Remote monitoring and digital tools ensure broad, inclusive enrollment. + +2. **Access to the Most Promising Treatments** + - Published rankings show which treatments have the best outcomes for similar patient profiles. + - Patients can choose based on real-world evidence rather than guesswork. + +3. **Protection from Unfair Barriers** + - No excessive fees, license restrictions, or bans on personal medication imports from trusted sources. + - Enforcement mechanisms penalize attempts to block or delay patient access. + +--- + +## 3. INSTITUTIONS THAT SOLVE THE PROBLEMS + +### 3A. DECENTRALIZED FDA (dFDA) +- **Automates Trials** + - Runs continuous real-world studies, replacing long, expensive phases. + - Collects and analyzes safety/efficacy data instantly across geographies. +- **Publishes Rankings & Outcome Labels** + - Maintains a transparent system showing which treatments work best for each condition and patient demographic. + - Uses AI to detect adverse events early and refine treatment recommendations. +- **Global Coordination** + - Harmonizes regulatory data from multiple countries, reducing duplicated testing. + - Encourages free flow of verified treatments across borders. + +### 3B. DECENTRALIZED INSTITUTE OF HEALTH (dIH) +- **Retroactive Rewards for Cost-Saving Cures** + - Pays manufacturers 50% of the healthcare savings generated by their therapies. + - Focuses on outcomes verified by the dFDA’s global data, replacing traditional grants. +- **Eliminates Waste** + - Ends fragmented, inefficient grant programs. + - Channels funds directly to treatments that reduce long-term medical expenses. +- **Aligns Incentives** + - Encourages prevention and cures by tying rewards to actual health impact. + - Drives investment toward broad-impact therapies rather than marginal, high-ticket drugs. + +### 3C. PATIENT INDUSTRIAL COMPLEX +- **Advocacy & Oversight** + - A coalition of patient groups that ensures ongoing protection of patient rights and fair access. +- **Policy Influence** + - Pressures lawmakers and regulators to support open access to therapies. + - Publicly flags any agency or organization undermining patient interests. +- **Transparency & Education** + - Maintains easy-to-understand guides on how to join trials and find effective treatments. + - Helps patients navigate global data published by the dFDA. + +### FDAi Oversight System +1. AI-Powered Regulation + - Implementation of FDAi, an autonomous AI agent for continuous monitoring and analysis + - Real-time assessment of drug safety and efficacy + - Predictive modeling for potential adverse effects + - Automated preliminary review of new drug applications + +--- + +## IMPLEMENTATION & IMPACT + +- **Immediate Access**: Patients can try new treatments that have passed essential safety checks without waiting for years of red tape. +- **Cost Reduction**: Developers save on trial expenses; those savings are shared with patients and passed on as lower prices. +- **Acceleration of Cures**: By tying financial rewards to measurable cost reductions, manufacturers shift focus to real breakthroughs. +- **Global Participation**: More patients contribute data, leading to quicker identification of effective therapies and faster eradication of diseases. +- **Stronger Patient Rights**: The Patient Industrial Complex enforces transparency and prevents backsliding into restrictive policies. + +### Patient Governance Rights +1. Patient Representative Boards + - Each major institution shall maintain a Patient Representative Board comprising at least 40% patients or patient advocates + - Board members shall have voting rights on major policy decisions, treatment protocols, and resource allocation + - Regular public forums must be held to gather patient input + +2. Transparency Requirements + - Institutions must publish quarterly reports on treatment outcomes, costs, and policy impacts + - All major policy decisions must undergo a public comment period + diff --git a/docs/assets/image-catalog.json b/docs/assets/image-catalog.json deleted file mode 100644 index 6cfe2090..00000000 --- a/docs/assets/image-catalog.json +++ /dev/null @@ -1,6225 +0,0 @@ -{ - "lastUpdated": "2025-01-31T00:32:16.905Z", - "totalImages": 691, - "images": { - "300px-Benefits-of-open-source-2.png": { - "fileName": "300px-Benefits-of-open-source-2.png", - "originalPath": "wiki/images/thumb/7/77/Benefits-of-open-source-2.png/300px-Benefits-of-open-source-2.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Benefits-of-open-source-2.png", - "size": 83614, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:03.398Z", - "key": "img/300px-Benefits-of-open-source-2.png" - }, - "300px-Best_antidepressants_based_on_weighted_patient_reviews.png": { - "fileName": "300px-Best_antidepressants_based_on_weighted_patient_reviews.png", - "originalPath": "wiki/images/thumb/1/1a/Best_antidepressants_based_on_weighted_patient_reviews.png/300px-Best_antidepressants_based_on_weighted_patient_reviews.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Best_antidepressants_based_on_weighted_patient_reviews.png", - "size": 86267, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:00.735Z", - "key": "img/300px-Best_antidepressants_based_on_weighted_patient_reviews.png" - }, - "300px-Casual_Flow_Chart.png": { - "fileName": "300px-Casual_Flow_Chart.png", - "originalPath": "wiki/images/thumb/5/5a/Casual_Flow_Chart.png/300px-Casual_Flow_Chart.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Casual_Flow_Chart.png", - "size": 130124, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:57.954Z", - "key": "img/300px-Casual_Flow_Chart.png" - }, - "300px-Data_Research_Center.png": { - "fileName": "300px-Data_Research_Center.png", - "originalPath": "wiki/images/thumb/7/78/Data_Research_Center.png/300px-Data_Research_Center.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Data_Research_Center.png", - "size": 49625, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:52.428Z", - "key": "img/300px-Data_Research_Center.png" - }, - "300px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png": { - "fileName": "300px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png", - "originalPath": "wiki/images/thumb/d/d8/Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png/300px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png", - "size": 21676, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:03.665Z", - "key": "img/300px-Dopamine_Serotonin_L-tryptophan_5-HTP_Depletion.png" - }, - "300px-Ketamine_Tolerance.png": { - "fileName": "300px-Ketamine_Tolerance.png", - "originalPath": "wiki/images/thumb/f/f0/Ketamine_Tolerance.png/300px-Ketamine_Tolerance.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Ketamine_Tolerance.png", - "size": 67990, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:59.021Z", - "key": "img/300px-Ketamine_Tolerance.png" - }, - "300px-Leaky_Gut_Leaky_Brain.png": { - "fileName": "300px-Leaky_Gut_Leaky_Brain.png", - "originalPath": "wiki/images/thumb/c/c2/Leaky_Gut_Leaky_Brain.png/300px-Leaky_Gut_Leaky_Brain.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Leaky_Gut_Leaky_Brain.png", - "size": 95858, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:04.740Z", - "key": "img/300px-Leaky_Gut_Leaky_Brain.png" - }, - "300px-Nutrition_Facts_Example.jpg": { - "fileName": "300px-Nutrition_Facts_Example.jpg", - "originalPath": "wiki/images/thumb/5/5f/Nutrition_Facts_Example.jpg/300px-Nutrition_Facts_Example.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Nutrition_Facts_Example.jpg", - "size": 57269, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:58.510Z", - "key": "img/300px-Nutrition_Facts_Example.jpg" - }, - "300px-Open_source_1.png": { - "fileName": "300px-Open_source_1.png", - "originalPath": "wiki/images/thumb/4/4a/Open_source_1.png/300px-Open_source_1.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Open_source_1.png", - "size": 73043, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:03.226Z", - "key": "img/300px-Open_source_1.png" - }, - "300px-Parnate_vs_Overall_Mood.png": { - "fileName": "300px-Parnate_vs_Overall_Mood.png", - "originalPath": "wiki/images/thumb/f/fb/Parnate_vs_Overall_Mood.png/300px-Parnate_vs_Overall_Mood.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Parnate_vs_Overall_Mood.png", - "size": 34915, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:04.570Z", - "key": "img/300px-Parnate_vs_Overall_Mood.png" - }, - "300px-Predictor_Search.png": { - "fileName": "300px-Predictor_Search.png", - "originalPath": "wiki/images/thumb/d/dc/Predictor_Search.png/300px-Predictor_Search.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Predictor_Search.png", - "size": 107252, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:58.331Z", - "key": "img/300px-Predictor_Search.png" - }, - "300px-Screen_Shot_2019-09-03_at_4.54.03_PM.png": { - "fileName": "300px-Screen_Shot_2019-09-03_at_4.54.03_PM.png", - "originalPath": "wiki/images/thumb/8/80/Screen_Shot_2019-09-03_at_4.54.03_PM.png/300px-Screen_Shot_2019-09-03_at_4.54.03_PM.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Screen_Shot_2019-09-03_at_4.54.03_PM.png", - "size": 46038, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:03.544Z", - "key": "img/300px-Screen_Shot_2019-09-03_at_4.54.03_PM.png" - }, - "300px-Treatment_algorithm_for_Major_Depressive_Disorder.png": { - "fileName": "300px-Treatment_algorithm_for_Major_Depressive_Disorder.png", - "originalPath": "wiki/images/thumb/0/0a/Treatment_algorithm_for_Major_Depressive_Disorder.png/300px-Treatment_algorithm_for_Major_Depressive_Disorder.png", - "s3Url": "https://static.crowdsourcingcures.org/img/300px-Treatment_algorithm_for_Major_Depressive_Disorder.png", - "size": 71051, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:00.965Z", - "key": "img/300px-Treatment_algorithm_for_Major_Depressive_Disorder.png" - }, - "396px-FDA-Social-Graphic.png": { - "fileName": "396px-FDA-Social-Graphic.png", - "originalPath": "wiki/images/thumb/2/2c/FDA-Social-Graphic.png/396px-FDA-Social-Graphic.png", - "s3Url": "https://static.crowdsourcingcures.org/img/396px-FDA-Social-Graphic.png", - "size": 150843, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:57.558Z", - "key": "img/396px-FDA-Social-Graphic.png" - }, - "405px-Anxiety_Predictors_Network_Graph.png": { - "fileName": "405px-Anxiety_Predictors_Network_Graph.png", - "originalPath": "wiki/images/thumb/8/8c/Anxiety_Predictors_Network_Graph.png/405px-Anxiety_Predictors_Network_Graph.png", - "s3Url": "https://static.crowdsourcingcures.org/img/405px-Anxiety_Predictors_Network_Graph.png", - "size": 106863, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:57.759Z", - "key": "img/405px-Anxiety_Predictors_Network_Graph.png" - }, - "440px-Omada_Insights_Lab.jpg": { - "fileName": "440px-Omada_Insights_Lab.jpg", - "originalPath": "wiki/images/thumb/b/bc/Omada_Insights_Lab.jpg/440px-Omada_Insights_Lab.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/440px-Omada_Insights_Lab.jpg", - "size": 21574, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:25:01.272Z", - "key": "img/440px-Omada_Insights_Lab.jpg" - }, - "446px-Intuition-Based_Likely_Cause_Survey_Results.png": { - "fileName": "446px-Intuition-Based_Likely_Cause_Survey_Results.png", - "originalPath": "wiki/images/thumb/4/42/Intuition-Based_Likely_Cause_Survey_Results.png/446px-Intuition-Based_Likely_Cause_Survey_Results.png", - "s3Url": "https://static.crowdsourcingcures.org/img/446px-Intuition-Based_Likely_Cause_Survey_Results.png", - "size": 87945, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:58.112Z", - "key": "img/446px-Intuition-Based_Likely_Cause_Survey_Results.png" - }, - "505px-Review_History_and_Add_Notes.jpg": { - "fileName": "505px-Review_History_and_Add_Notes.jpg", - "originalPath": "wiki/images/thumb/4/44/Review_History_and_Add_Notes.jpg/505px-Review_History_and_Add_Notes.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/505px-Review_History_and_Add_Notes.jpg", - "size": 25445, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:55.150Z", - "key": "img/505px-Review_History_and_Add_Notes.jpg" - }, - "506px-Create_Reminders_App.jpg": { - "fileName": "506px-Create_Reminders_App.jpg", - "originalPath": "wiki/images/thumb/4/4e/Create_Reminders_App.jpg/506px-Create_Reminders_App.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/506px-Create_Reminders_App.jpg", - "size": 25421, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:55.034Z", - "key": "img/506px-Create_Reminders_App.jpg" - }, - "506px-Visualize_Your_Data.jpg": { - "fileName": "506px-Visualize_Your_Data.jpg", - "originalPath": "wiki/images/thumb/c/c7/Visualize_Your_Data.jpg/506px-Visualize_Your_Data.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/506px-Visualize_Your_Data.jpg", - "size": 18353, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:55.566Z", - "key": "img/506px-Visualize_Your_Data.jpg" - }, - "507px-Platform_Overview_Diagram.png": { - "fileName": "507px-Platform_Overview_Diagram.png", - "originalPath": "wiki/images/thumb/b/b3/Platform_Overview_Diagram.png/507px-Platform_Overview_Diagram.png", - "s3Url": "https://static.crowdsourcingcures.org/img/507px-Platform_Overview_Diagram.png", - "size": 515394, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:56.583Z", - "key": "img/507px-Platform_Overview_Diagram.png" - }, - "517px-Discover_Hidden_Factors.jpg": { - "fileName": "517px-Discover_Hidden_Factors.jpg", - "originalPath": "wiki/images/thumb/0/0e/Discover_Hidden_Factors.jpg/517px-Discover_Hidden_Factors.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/517px-Discover_Hidden_Factors.jpg", - "size": 21826, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:55.424Z", - "key": "img/517px-Discover_Hidden_Factors.jpg" - }, - "517px-Import_Data_From_Apps_and_Devices.jpg": { - "fileName": "517px-Import_Data_From_Apps_and_Devices.jpg", - "originalPath": "wiki/images/thumb/2/2d/Import_Data_From_Apps_and_Devices.jpg/517px-Import_Data_From_Apps_and_Devices.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/517px-Import_Data_From_Apps_and_Devices.jpg", - "size": 21761, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:55.267Z", - "key": "img/517px-Import_Data_From_Apps_and_Devices.jpg" - }, - "522px-US_Life_Expectancy_Map.png": { - "fileName": "522px-US_Life_Expectancy_Map.png", - "originalPath": "wiki/images/thumb/8/84/US_Life_Expectancy_Map.png/522px-US_Life_Expectancy_Map.png", - "s3Url": "https://static.crowdsourcingcures.org/img/522px-US_Life_Expectancy_Map.png", - "size": 213052, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:02.741Z", - "key": "img/522px-US_Life_Expectancy_Map.png" - }, - "531px-Track_Factors_App.png": { - "fileName": "531px-Track_Factors_App.png", - "originalPath": "wiki/images/thumb/3/30/Track_Factors_App.png/531px-Track_Factors_App.png", - "s3Url": "https://static.crowdsourcingcures.org/img/531px-Track_Factors_App.png", - "size": 149974, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:54.339Z", - "key": "img/531px-Track_Factors_App.png" - }, - "541px-Incidence_of_Non-Hodgkin_Lymphoma.png": { - "fileName": "541px-Incidence_of_Non-Hodgkin_Lymphoma.png", - "originalPath": "wiki/images/thumb/6/6f/Incidence_of_Non-Hodgkin_Lymphoma.png/541px-Incidence_of_Non-Hodgkin_Lymphoma.png", - "s3Url": "https://static.crowdsourcingcures.org/img/541px-Incidence_of_Non-Hodgkin_Lymphoma.png", - "size": 120188, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:01.907Z", - "key": "img/541px-Incidence_of_Non-Hodgkin_Lymphoma.png" - }, - "541px-Track_Symptoms_App.png": { - "fileName": "541px-Track_Symptoms_App.png", - "originalPath": "wiki/images/thumb/3/3e/Track_Symptoms_App.png/541px-Track_Symptoms_App.png", - "s3Url": "https://static.crowdsourcingcures.org/img/541px-Track_Symptoms_App.png", - "size": 158727, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:54.842Z", - "key": "img/541px-Track_Symptoms_App.png" - }, - "593px-Import_Data_App.png": { - "fileName": "593px-Import_Data_App.png", - "originalPath": "wiki/images/thumb/a/a1/Import_Data_App.png/593px-Import_Data_App.png", - "s3Url": "https://static.crowdsourcingcures.org/img/593px-Import_Data_App.png", - "size": 206674, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:54.044Z", - "key": "img/593px-Import_Data_App.png" - }, - "597px-Treatment_Effectiveness_Graph.png": { - "fileName": "597px-Treatment_Effectiveness_Graph.png", - "originalPath": "wiki/images/thumb/3/34/Treatment_Effectiveness_Graph.png/597px-Treatment_Effectiveness_Graph.png", - "s3Url": "https://static.crowdsourcingcures.org/img/597px-Treatment_Effectiveness_Graph.png", - "size": 551980, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:04.277Z", - "key": "img/597px-Treatment_Effectiveness_Graph.png" - }, - "623px-MAOI_Effects_on_Cytokine_Levels.jpg": { - "fileName": "623px-MAOI_Effects_on_Cytokine_Levels.jpg", - "originalPath": "wiki/images/thumb/f/f7/MAOI_Effects_on_Cytokine_Levels.jpg/623px-MAOI_Effects_on_Cytokine_Levels.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/623px-MAOI_Effects_on_Cytokine_Levels.jpg", - "size": 50374, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:25:01.129Z", - "key": "img/623px-MAOI_Effects_on_Cytokine_Levels.jpg" - }, - "630px-Reminder_Inbox_Screenshot.jpg": { - "fileName": "630px-Reminder_Inbox_Screenshot.jpg", - "originalPath": "wiki/images/thumb/b/bd/Reminder_Inbox_Screenshot.jpg/630px-Reminder_Inbox_Screenshot.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/630px-Reminder_Inbox_Screenshot.jpg", - "size": 35563, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:53.246Z", - "key": "img/630px-Reminder_Inbox_Screenshot.jpg" - }, - "635px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png": { - "fileName": "635px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png", - "originalPath": "wiki/images/thumb/5/5b/International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png/635px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png", - "s3Url": "https://static.crowdsourcingcures.org/img/635px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png", - "size": 248414, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:59.400Z", - "key": "img/635px-International_Open_Source_Analytics_and_Collaborative_Bio-Databank.png" - }, - "651px-Microbiome_Brain_Diagram.jpg": { - "fileName": "651px-Microbiome_Brain_Diagram.jpg", - "originalPath": "wiki/images/thumb/1/14/Microbiome_Brain_Diagram.jpg/651px-Microbiome_Brain_Diagram.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/651px-Microbiome_Brain_Diagram.jpg", - "size": 51903, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:25:00.043Z", - "key": "img/651px-Microbiome_Brain_Diagram.jpg" - }, - "663px-Glyphosate_Use_Growth_Curve_Graph.png": { - "fileName": "663px-Glyphosate_Use_Growth_Curve_Graph.png", - "originalPath": "wiki/images/thumb/a/a3/Glyphosate_Use_Growth_Curve_Graph.png/663px-Glyphosate_Use_Growth_Curve_Graph.png", - "s3Url": "https://static.crowdsourcingcures.org/img/663px-Glyphosate_Use_Growth_Curve_Graph.png", - "size": 236158, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:02.256Z", - "key": "img/663px-Glyphosate_Use_Growth_Curve_Graph.png" - }, - "688px-Machine_Learning.png": { - "fileName": "688px-Machine_Learning.png", - "originalPath": "wiki/images/thumb/d/d9/Machine_Learning.png/688px-Machine_Learning.png", - "s3Url": "https://static.crowdsourcingcures.org/img/688px-Machine_Learning.png", - "size": 196860, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:56.026Z", - "key": "img/688px-Machine_Learning.png" - }, - "699px-Nutrition_Facts_vs_Outcome_Label.png": { - "fileName": "699px-Nutrition_Facts_vs_Outcome_Label.png", - "originalPath": "wiki/images/thumb/b/b8/Nutrition_Facts_vs_Outcome_Label.png/699px-Nutrition_Facts_vs_Outcome_Label.png", - "s3Url": "https://static.crowdsourcingcures.org/img/699px-Nutrition_Facts_vs_Outcome_Label.png", - "size": 251992, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:58.844Z", - "key": "img/699px-Nutrition_Facts_vs_Outcome_Label.png" - }, - "794px-Brain_Gut_Axis_Microbiome_Diagram.png": { - "fileName": "794px-Brain_Gut_Axis_Microbiome_Diagram.png", - "originalPath": "wiki/images/thumb/3/3a/Brain_Gut_Axis_Microbiome_Diagram.png/794px-Brain_Gut_Axis_Microbiome_Diagram.png", - "s3Url": "https://static.crowdsourcingcures.org/img/794px-Brain_Gut_Axis_Microbiome_Diagram.png", - "size": 314766, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:00.541Z", - "key": "img/794px-Brain_Gut_Axis_Microbiome_Diagram.png" - }, - "869px-Personal_Analytics_Dashboard_App.png": { - "fileName": "869px-Personal_Analytics_Dashboard_App.png", - "originalPath": "wiki/images/thumb/5/5e/Personal_Analytics_Dashboard_App.png/869px-Personal_Analytics_Dashboard_App.png", - "s3Url": "https://static.crowdsourcingcures.org/img/869px-Personal_Analytics_Dashboard_App.png", - "size": 342467, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:53.723Z", - "key": "img/869px-Personal_Analytics_Dashboard_App.png" - }, - "888px-Crowdsourcing_Cures_Strategy_Overview.png": { - "fileName": "888px-Crowdsourcing_Cures_Strategy_Overview.png", - "originalPath": "wiki/images/thumb/8/8f/Crowdsourcing_Cures_Strategy_Overview.png/888px-Crowdsourcing_Cures_Strategy_Overview.png", - "s3Url": "https://static.crowdsourcingcures.org/img/888px-Crowdsourcing_Cures_Strategy_Overview.png", - "size": 345916, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:59.827Z", - "key": "img/888px-Crowdsourcing_Cures_Strategy_Overview.png" - }, - "All_of_Us_Research_Program_Overview_Infographic.png": { - "fileName": "All_of_Us_Research_Program_Overview_Infographic.png", - "originalPath": "wiki/images/6/65/All_of_Us_Research_Program_Overview_Infographic.png", - "s3Url": "https://static.crowdsourcingcures.org/img/All_of_Us_Research_Program_Overview_Infographic.png", - "size": 416852, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:52.886Z", - "key": "img/All_of_Us_Research_Program_Overview_Infographic.png" - }, - "Bot.svg": { - "fileName": "Bot.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/Bot.svg", - "size": 6302, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:17.000Z", - "key": "img/Bot.svg" - }, - "Brain.svg": { - "fileName": "Brain.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/Brain.svg", - "size": 5569, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:17.000Z", - "key": "img/Brain.svg" - }, - "Crowdsourcing_Cures_Platform_Architecture.png": { - "fileName": "Crowdsourcing_Cures_Platform_Architecture.png", - "originalPath": "wiki/images/5/59/Crowdsourcing_Cures_Platform_Architecture.png", - "s3Url": "https://static.crowdsourcingcures.org/img/Crowdsourcing_Cures_Platform_Architecture.png", - "size": 685789, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:57.277Z", - "key": "img/Crowdsourcing_Cures_Platform_Architecture.png" - }, - "Digital Twin Knowledge Agent brains consuming existing data.jpg": { - "fileName": "Digital Twin Knowledge Agent brains consuming existing data.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/Digital Twin Knowledge Agent brains consuming existing data.jpg", - "size": 172996, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:17.000Z", - "key": "img/Digital Twin Knowledge Agent brains consuming existing data.jpg" - }, - "Geological_Blue-Zone_Map.jpg": { - "fileName": "Geological_Blue-Zone_Map.jpg", - "originalPath": "wiki/images/9/91/Geological_Blue-Zone_Map.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/Geological_Blue-Zone_Map.jpg", - "size": 41096, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:25:02.425Z", - "key": "img/Geological_Blue-Zone_Map.jpg" - }, - "GitHub.svg": { - "fileName": "GitHub.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/GitHub.svg", - "size": 1422, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:17.000Z", - "key": "img/GitHub.svg" - }, - "Idea-brain-light-bulb.svg": { - "fileName": "Idea-brain-light-bulb.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/Idea-brain-light-bulb.svg", - "size": 2370, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:18.000Z", - "key": "img/Idea-brain-light-bulb.svg" - }, - "Nonprofit-organization-scheme-and-evaluation-activities.png": { - "fileName": "Nonprofit-organization-scheme-and-evaluation-activities.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/Nonprofit-organization-scheme-and-evaluation-activities.png", - "size": 18435, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:18.000Z", - "key": "img/Nonprofit-organization-scheme-and-evaluation-activities.png" - }, - "Number_of_Molecules_with_Drug-Like_Properties.png": { - "fileName": "Number_of_Molecules_with_Drug-Like_Properties.png", - "originalPath": "wiki/images/b/ba/Number_of_Molecules_with_Drug-Like_Properties.png", - "s3Url": "https://static.crowdsourcingcures.org/img/Number_of_Molecules_with_Drug-Like_Properties.png", - "size": 74137, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:02.904Z", - "key": "img/Number_of_Molecules_with_Drug-Like_Properties.png" - }, - "Temporal_Correlates_of_Disease_Incidence-2.png": { - "fileName": "Temporal_Correlates_of_Disease_Incidence-2.png", - "originalPath": "wiki/images/6/65/Temporal_Correlates_of_Disease_Incidence-2.png", - "s3Url": "https://static.crowdsourcingcures.org/img/Temporal_Correlates_of_Disease_Incidence-2.png", - "size": 328273, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:25:01.703Z", - "key": "img/Temporal_Correlates_of_Disease_Incidence-2.png" - }, - "agent-overview.png": { - "fileName": "agent-overview.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/agent-overview.png", - "size": 139506, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:18.000Z", - "key": "img/agent-overview.png" - }, - "ai-utopia-wide.jpg": { - "fileName": "ai-utopia-wide.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/ai-utopia-wide.jpg", - "size": 431542, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:18.000Z", - "key": "img/ai-utopia-wide.jpg" - }, - "ai-utopia.jpeg": { - "fileName": "ai-utopia.jpeg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/ai-utopia.jpeg", - "size": 218433, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:18.000Z", - "key": "img/ai-utopia.jpeg" - }, - "analytics-engine-no-border.png": { - "fileName": "analytics-engine-no-border.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/analytics-engine-no-border.png", - "size": 180328, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/analytics-engine-no-border.png" - }, - "antidepressants drugs ratings.png": { - "fileName": "antidepressants drugs ratings.png", - "originalPath": "antidepressants drugs ratings.png", - "s3Url": "https://static.crowdsourcingcures.org/img/antidepressants drugs ratings.png", - "size": 39914, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:53.076Z", - "key": "img/antidepressants drugs ratings.png" - }, - "api-icon.png": { - "fileName": "api-icon.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/api-icon.png", - "size": 41246, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/api-icon.png" - }, - "autonomous-research-agent.png": { - "fileName": "autonomous-research-agent.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/autonomous-research-agent.png", - "size": 182600, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:19.000Z", - "key": "img/autonomous-research-agent.png" - }, - "Android-Lollipop-wallpapers-Google-Now-Wallpaper-2.png": { - "fileName": "Android-Lollipop-wallpapers-Google-Now-Wallpaper-2.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/backgrounds/Android-Lollipop-wallpapers-Google-Now-Wallpaper-2.png", - "size": 359282, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:17.000Z", - "key": "img/backgrounds/Android-Lollipop-wallpapers-Google-Now-Wallpaper-2.png" - }, - "blue_star_background.jpg": { - "fileName": "blue_star_background.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/backgrounds/blue_star_background.jpg", - "size": 98935, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/backgrounds/blue_star_background.jpg" - }, - "bokeh-on-blue-1200-630.jpg": { - "fileName": "bokeh-on-blue-1200-630.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/backgrounds/bokeh-on-blue-1200-630.jpg", - "size": 38695, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/backgrounds/bokeh-on-blue-1200-630.jpg" - }, - "purple-space-stars-background-1200-630.jpg": { - "fileName": "purple-space-stars-background-1200-630.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/backgrounds/purple-space-stars-background-1200-630.jpg", - "size": 69165, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/backgrounds/purple-space-stars-background-1200-630.jpg" - }, - "stars.jpg": { - "fileName": "stars.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/backgrounds/stars.jpg", - "size": 389332, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:17.000Z", - "key": "img/backgrounds/stars.jpg" - }, - "black-box-predictive-control-model-system.jpg": { - "fileName": "black-box-predictive-control-model-system.jpg", - "originalPath": "black-box-predictive-control-model-system.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/black-box-predictive-control-model-system.jpg", - "size": 39112, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:27.884Z", - "key": "img/black-box-predictive-control-model-system.jpg" - }, - "brain-7-numbers.svg": { - "fileName": "brain-7-numbers.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/brains/brain-7-numbers.svg", - "size": 14287, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/brains/brain-7-numbers.svg" - }, - "brain-pink.svg": { - "fileName": "brain-pink.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/brains/brain-pink.svg", - "size": 11376, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/brains/brain-pink.svg" - }, - "brain.svg": { - "fileName": "brain.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/brains/brain.svg", - "size": 7367, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/brains/brain.svg" - }, - "crowdsourcing-utopia-brain-padding-512-512.png": { - "fileName": "crowdsourcing-utopia-brain-padding-512-512.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/brains/crowdsourcing-utopia-brain-padding-512-512.png", - "size": 56176, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/brains/crowdsourcing-utopia-brain-padding-512-512.png" - }, - "crowdsourcing-utopia-brain.png": { - "fileName": "crowdsourcing-utopia-brain.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/brains/crowdsourcing-utopia-brain.png", - "size": 4707, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/brains/crowdsourcing-utopia-brain.png" - }, - "crowdsourcing-utopia-brain.svg": { - "fileName": "crowdsourcing-utopia-brain.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/brains/crowdsourcing-utopia-brain.svg", - "size": 117640, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/brains/crowdsourcing-utopia-brain.svg" - }, - "causal-inference-2-1.jpg": { - "fileName": "causal-inference-2-1.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/causal-inference-2-1.jpg", - "size": 129044, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:19.000Z", - "key": "img/causal-inference-2-1.jpg" - }, - "causal_clues-1024x652.png": { - "fileName": "causal_clues-1024x652.png", - "originalPath": "assets/analytics/causal_clues-1024x652.png", - "s3Url": "https://static.crowdsourcingcures.org/img/causal_clues-1024x652.png", - "size": 286089, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:47.501Z", - "key": "img/causal_clues-1024x652.png" - }, - "chat-dev-nonprofit-autonomous-agents.jpg": { - "fileName": "chat-dev-nonprofit-autonomous-agents.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/chat-dev-nonprofit-autonomous-agents.jpg", - "size": 127544, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:19.000Z", - "key": "img/chat-dev-nonprofit-autonomous-agents.jpg" - }, - "chemicals-in-our-diet.png": { - "fileName": "chemicals-in-our-diet.png", - "originalPath": "assets/chemicals-in-our-diet.png", - "s3Url": "https://static.crowdsourcingcures.org/img/chemicals-in-our-diet.png", - "size": 212865, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:43.673Z", - "key": "img/chemicals-in-our-diet.png" - }, - "chemicals-in-our-diet.svg": { - "fileName": "chemicals-in-our-diet.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/chemicals-in-our-diet.svg", - "size": 53569, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:19.000Z", - "key": "img/chemicals-in-our-diet.svg" - }, - "chrome.ico": { - "fileName": "chrome.ico", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/chrome.ico", - "size": 198964, - "mimeType": "image/vnd.microsoft.icon", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/chrome.ico" - }, - "clippy.svg": { - "fileName": "clippy.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/clippy.svg", - "size": 513, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:06.000Z", - "key": "img/clippy.svg" - }, - "closed-source-competition-vs-open-source-collaboration.sketch.png": { - "fileName": "closed-source-competition-vs-open-source-collaboration.sketch.png", - "originalPath": "assets/closed-source-competition-vs-open-source-collaboration.sketch.png", - "s3Url": "https://static.crowdsourcingcures.org/img/closed-source-competition-vs-open-source-collaboration.sketch.png", - "size": 184281, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:49.981Z", - "key": "img/closed-source-competition-vs-open-source-collaboration.sketch.png" - }, - "collabomatic-ai-diagram.png": { - "fileName": "collabomatic-ai-diagram.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/collabomatic-ai-diagram.png", - "size": 139002, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:20.000Z", - "key": "img/collabomatic-ai-diagram.png" - }, - "collaboration-is-punished.PNG": { - "fileName": "collaboration-is-punished.PNG", - "originalPath": "assets/collaboration-is-punished.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/collaboration-is-punished.PNG", - "size": 74353, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:38.024Z", - "key": "img/collaboration-is-punished.PNG" - }, - "collect-import-analyze-screenshot-ionic-qm.png": { - "fileName": "collect-import-analyze-screenshot-ionic-qm.png", - "originalPath": "collect-import-analyze-screenshot-ionic-qm.png", - "s3Url": "https://static.crowdsourcingcures.org/img/collect-import-analyze-screenshot-ionic-qm.png", - "size": 257144, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:16.133Z", - "key": "img/collect-import-analyze-screenshot-ionic-qm.png" - }, - "congress.jpg": { - "fileName": "congress.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/congress.jpg", - "size": 50593, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:20.000Z", - "key": "img/congress.jpg" - }, - "23andme.png": { - "fileName": "23andme.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/connectors/23andme.png", - "size": 102270, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/connectors/23andme.png" - }, - "air-quality-connector.jpg": { - "fileName": "air-quality-connector.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/connectors/air-quality-connector.jpg", - "size": 4136, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/connectors/air-quality-connector.jpg" - }, - "google-fit.png": { - "fileName": "google-fit.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/connectors/google-fit.png", - "size": 7617, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/connectors/google-fit.png" - }, - "google-logo-icon-PNG-Transparent-Background.png": { - "fileName": "google-logo-icon-PNG-Transparent-Background.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/connectors/google-logo-icon-PNG-Transparent-Background.png", - "size": 13889, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/connectors/google-logo-icon-PNG-Transparent-Background.png" - }, - "mint-connector-icon.png": { - "fileName": "mint-connector-icon.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/connectors/mint-connector-icon.png", - "size": 12691, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/connectors/mint-connector-icon.png" - }, - "coordinator-agents.jpeg": { - "fileName": "coordinator-agents.jpeg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/coordinator-agents.jpeg", - "size": 205910, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:20.000Z", - "key": "img/coordinator-agents.jpeg" - }, - "correlation-does-not-equal-causation-comic.png": { - "fileName": "correlation-does-not-equal-causation-comic.png", - "originalPath": "assets/analytics/correlation-does-not-equal-causation-comic.png", - "s3Url": "https://static.crowdsourcingcures.org/img/correlation-does-not-equal-causation-comic.png", - "size": 17382, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:47.615Z", - "key": "img/correlation-does-not-equal-causation-comic.png" - }, - "cost-clinical-research-with-automation-pointer-1024x740.jpg": { - "fileName": "cost-clinical-research-with-automation-pointer-1024x740.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/cost-clinical-research-with-automation-pointer-1024x740.jpg", - "size": 70130, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:21.000Z", - "key": "img/cost-clinical-research-with-automation-pointer-1024x740.jpg" - }, - "cost-of-clinical-trials.png": { - "fileName": "cost-of-clinical-trials.png", - "originalPath": "assets/cost-of-clinical-trials.png", - "s3Url": "https://static.crowdsourcingcures.org/img/cost-of-clinical-trials.png", - "size": 157082, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:49.511Z", - "key": "img/cost-of-clinical-trials.png" - }, - "cost-of-cybercrime-projections-beige.jpg": { - "fileName": "cost-of-cybercrime-projections-beige.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/cost-of-cybercrime-projections-beige.jpg", - "size": 249881, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:21.000Z", - "key": "img/cost-of-cybercrime-projections-beige.jpg" - }, - "cost-to-develop-a-drug-chart.png": { - "fileName": "cost-to-develop-a-drug-chart.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/cost-to-develop-a-drug-chart.png", - "size": 59880, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:21.000Z", - "key": "img/cost-to-develop-a-drug-chart.png" - }, - "cost-to-develop-a-new-drug.png": { - "fileName": "cost-to-develop-a-new-drug.png", - "originalPath": "assets/cost-to-develop-a-new-drug.png", - "s3Url": "https://static.crowdsourcingcures.org/img/cost-to-develop-a-new-drug.png", - "size": 23916, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:45.991Z", - "key": "img/cost-to-develop-a-new-drug.png" - }, - "data-analysis.PNG": { - "fileName": "data-analysis.PNG", - "originalPath": "assets/data-analysis.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/data-analysis.PNG", - "size": 321301, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:22.510Z", - "key": "img/data-analysis.PNG" - }, - "data-collection-flow-chart.png": { - "fileName": "data-collection-flow-chart.png", - "originalPath": "assets/data-collection-flow-chart.png", - "s3Url": "https://static.crowdsourcingcures.org/img/data-collection-flow-chart.png", - "size": 41915, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:23.558Z", - "key": "img/data-collection-flow-chart.png" - }, - "data-collection-plugins.PNG": { - "fileName": "data-collection-plugins.PNG", - "originalPath": "assets/data-collection-plugins.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/data-collection-plugins.PNG", - "size": 454875, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:23.355Z", - "key": "img/data-collection-plugins.PNG" - }, - "data-gems.png": { - "fileName": "data-gems.png", - "originalPath": "data-gems.png", - "s3Url": "https://static.crowdsourcingcures.org/img/data-gems.png", - "size": 537845, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:20.723Z", - "key": "img/data-gems.png" - }, - "data-gem-background.png": { - "fileName": "data-gem-background.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/data-gems/data-gem-background.png", - "size": 445382, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:21.000Z", - "key": "img/data-gems/data-gem-background.png" - }, - "data-import-and-analysis.gif": { - "fileName": "data-import-and-analysis.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/data-import-and-analysis.gif", - "size": 143052, - "mimeType": "image/gif", - "uploadDate": "2025-01-16T21:13:22.000Z", - "key": "img/data-import-and-analysis.gif" - }, - "graph.png": { - "fileName": "graph.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/data/graph.png", - "size": 10178, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/data/graph.png" - }, - "line-chart.png": { - "fileName": "line-chart.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/data/line-chart.png", - "size": 24371, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/data/line-chart.png" - }, - "deaths-from-disease-vs-deaths-from-terrorism-chart.png": { - "fileName": "deaths-from-disease-vs-deaths-from-terrorism-chart.png", - "originalPath": "assets/deaths-from-disease-vs-deaths-from-terrorism-chart.png", - "s3Url": "https://static.crowdsourcingcures.org/img/deaths-from-disease-vs-deaths-from-terrorism-chart.png", - "size": 322090, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:48.581Z", - "key": "img/deaths-from-disease-vs-deaths-from-terrorism-chart.png" - }, - "decentralized-research.png": { - "fileName": "decentralized-research.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/decentralized-research.png", - "size": 176519, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:22.000Z", - "key": "img/decentralized-research.png" - }, - "decision_support_notification_plugins.png": { - "fileName": "decision_support_notification_plugins.png", - "originalPath": "decision_support_notification_plugins.png", - "s3Url": "https://static.crowdsourcingcures.org/img/decision_support_notification_plugins.png", - "size": 306805, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:29.579Z", - "key": "img/decision_support_notification_plugins.png" - }, - "deidentification.png": { - "fileName": "deidentification.png", - "originalPath": "assets/privacy/deidentification.png", - "s3Url": "https://static.crowdsourcingcures.org/img/deidentification.png", - "size": 706712, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:50.641Z", - "key": "img/deidentification.png" - }, - "desci-exchange-diagram.svg": { - "fileName": "desci-exchange-diagram.svg", - "originalPath": "desci-exchange-diagram.svg", - "s3Url": "https://static.crowdsourcingcures.org/img/desci-exchange-diagram.svg", - "size": 1392322, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-31T00:24:19.778Z", - "key": "img/desci-exchange-diagram.svg" - }, - "desci-exchange-how-it-works.png": { - "fileName": "desci-exchange-how-it-works.png", - "originalPath": "desci-exchange-how-it-works.png", - "s3Url": "https://static.crowdsourcingcures.org/img/desci-exchange-how-it-works.png", - "size": 643232, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:18.156Z", - "key": "img/desci-exchange-how-it-works.png" - }, - "desci-exchange-text-logo-wide-text-hands-background.png": { - "fileName": "desci-exchange-text-logo-wide-text-hands-background.png", - "originalPath": "desci-exchange-text-logo-wide-text-hands-background.png", - "s3Url": "https://static.crowdsourcingcures.org/img/desci-exchange-text-logo-wide-text-hands-background.png", - "size": 571422, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:17.417Z", - "key": "img/desci-exchange-text-logo-wide-text-hands-background.png" - }, - "broken-robot.png": { - "fileName": "broken-robot.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/desci-exchange/broken-robot.png", - "size": 120618, - "mimeType": "image/png", - "uploadDate": "2025-01-16T20:51:10.000Z", - "key": "img/desci-exchange/broken-robot.png" - }, - "dfda-framework-diagram.png": { - "fileName": "dfda-framework-diagram.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/dfda-framework-diagram.png", - "size": 500812, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:22.000Z", - "key": "img/dfda-framework-diagram.png" - }, - "dfda-icon.png": { - "fileName": "dfda-icon.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/dfda-icon.png", - "size": 182833, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:23.000Z", - "key": "img/dfda-icon.png" - }, - "dfda-icon.svg": { - "fileName": "dfda-icon.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/dfda-icon.svg", - "size": 76069, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:23.000Z", - "key": "img/dfda-icon.svg" - }, - "dfda-overview-purple.png": { - "fileName": "dfda-overview-purple.png", - "originalPath": "dfda-overview-purple.png", - "s3Url": "https://static.crowdsourcingcures.org/img/dfda-overview-purple.png", - "size": 1857118, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:35.573Z", - "key": "img/dfda-overview-purple.png" - }, - "digital twins cooperating.jpg": { - "fileName": "digital twins cooperating.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/digital twins cooperating.jpg", - "size": 168624, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:23.000Z", - "key": "img/digital twins cooperating.jpg" - }, - "digital-health-has-failed-large.png": { - "fileName": "digital-health-has-failed-large.png", - "originalPath": "assets/digital-health-has-failed-large.png", - "s3Url": "https://static.crowdsourcingcures.org/img/digital-health-has-failed-large.png", - "size": 302415, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:37.880Z", - "key": "img/digital-health-has-failed-large.png" - }, - "digital-twin-nft.png": { - "fileName": "digital-twin-nft.png", - "originalPath": "digital-twin-nft.png", - "s3Url": "https://static.crowdsourcingcures.org/img/digital-twin-nft.png", - "size": 89502, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:40.733Z", - "key": "img/digital-twin-nft.png" - }, - "digital-twin-safe-cover.jpg": { - "fileName": "digital-twin-safe-cover.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/digital-twin-safe-cover.jpg", - "size": 276224, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:24.000Z", - "key": "img/digital-twin-safe-cover.jpg" - }, - "digital-twin-safe-no-text.jpg": { - "fileName": "digital-twin-safe-no-text.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/digital-twin-safe-no-text.jpg", - "size": 206594, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:24.000Z", - "key": "img/digital-twin-safe-no-text.jpg" - }, - "digital-twin-safe.jpg": { - "fileName": "digital-twin-safe.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/digital-twin-safe.jpg", - "size": 216567, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:25.000Z", - "key": "img/digital-twin-safe.jpg" - }, - "digital-twin-background.png": { - "fileName": "digital-twin-background.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/digital-twins/digital-twin-background.png", - "size": 63154, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/digital-twins/digital-twin-background.png" - }, - "diminishing-returns.png": { - "fileName": "diminishing-returns.png", - "originalPath": "assets/diminishing-returns.png", - "s3Url": "https://static.crowdsourcingcures.org/img/diminishing-returns.png", - "size": 134713, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:46.350Z", - "key": "img/diminishing-returns.png" - }, - "discovery-scatterplots.PNG": { - "fileName": "discovery-scatterplots.PNG", - "originalPath": "assets/discovery-scatterplots.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/discovery-scatterplots.PNG", - "size": 216354, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:22.842Z", - "key": "img/discovery-scatterplots.PNG" - }, - "disease-causing-death-shift.gif": { - "fileName": "disease-causing-death-shift.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/disease-causing-death-shift.gif", - "size": 51301, - "mimeType": "image/gif", - "uploadDate": "2025-01-16T21:13:26.000Z", - "key": "img/disease-causing-death-shift.gif" - }, - "drug-development-process.png": { - "fileName": "drug-development-process.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/drug-development-process.png", - "size": 300888, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:26.000Z", - "key": "img/drug-development-process.png" - }, - "drug-discovery-and-development-timeline.png": { - "fileName": "drug-discovery-and-development-timeline.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/drug-discovery-and-development-timeline.png", - "size": 194145, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:27.000Z", - "key": "img/drug-discovery-and-development-timeline.png" - }, - "drug-evaluation-process.png": { - "fileName": "drug-evaluation-process.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/drug-evaluation-process.png", - "size": 244274, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:27.000Z", - "key": "img/drug-evaluation-process.png" - }, - "drug-ineffectivness.jpg": { - "fileName": "drug-ineffectivness.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/drug-ineffectivness.jpg", - "size": 290419, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:28.000Z", - "key": "img/drug-ineffectivness.jpg" - }, - "drug-lag-swiss-us-life-expectancy-switzerland.png": { - "fileName": "drug-lag-swiss-us-life-expectancy-switzerland.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/drug-lag-swiss-us-life-expectancy-switzerland.png", - "size": 191267, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:28.000Z", - "key": "img/drug-lag-swiss-us-life-expectancy-switzerland.png" - }, - "duration-of-action-1024x1024.jpg": { - "fileName": "duration-of-action-1024x1024.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/duration-of-action-1024x1024.jpg", - "size": 99703, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:28.000Z", - "key": "img/duration-of-action-1024x1024.jpg" - }, - "eggs-time-covers.png": { - "fileName": "eggs-time-covers.png", - "originalPath": "assets/analytics/eggs-time-covers.png", - "s3Url": "https://static.crowdsourcingcures.org/img/eggs-time-covers.png", - "size": 466824, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:47.208Z", - "key": "img/eggs-time-covers.png" - }, - "factors-slide.png": { - "fileName": "factors-slide.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/factors-slide.png", - "size": 117735, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/factors-slide.png" - }, - "family.svg": { - "fileName": "family.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/family.svg", - "size": 8405, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/family.svg" - }, - "fda-life-expectancy-growth-jama-chart-graph.png": { - "fileName": "fda-life-expectancy-growth-jama-chart-graph.png", - "originalPath": "fda-life-expectancy-growth-jama-chart-graph.png", - "s3Url": "https://static.crowdsourcingcures.org/img/fda-life-expectancy-growth-jama-chart-graph.png", - "size": 63968, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:48.007Z", - "key": "img/fda-life-expectancy-growth-jama-chart-graph.png" - }, - "fda-safety-trials-life-expectancy.png": { - "fileName": "fda-safety-trials-life-expectancy.png", - "originalPath": "assets/fda-safety-trials-life-expectancy.png", - "s3Url": "https://static.crowdsourcingcures.org/img/fda-safety-trials-life-expectancy.png", - "size": 49524, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:45.523Z", - "key": "img/fda-safety-trials-life-expectancy.png" - }, - "fdai-logo-text-black.png": { - "fileName": "fdai-logo-text-black.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/fdai-logo-text-black.png", - "size": 18073, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/fdai-logo-text-black.png" - }, - "fdai-logo-text-white.png": { - "fileName": "fdai-logo-text-white.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/fdai-logo-text-white.png", - "size": 18395, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/fdai-logo-text-white.png" - }, - "calendar.svg": { - "fileName": "calendar.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/calendar.svg", - "size": 2097, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/calendar.svg" - }, - "devices.png": { - "fileName": "devices.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/devices.png", - "size": 10104, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/devices.png" - }, - "devices.svg": { - "fileName": "devices.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/devices.svg", - "size": 1861, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/devices.svg" - }, - "half-moon.png": { - "fileName": "half-moon.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/half-moon.png", - "size": 21839, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/features/half-moon.png" - }, - "heart-like.png": { - "fileName": "heart-like.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/heart-like.png", - "size": 14808, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/heart-like.png" - }, - "map-1.png": { - "fileName": "map-1.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/map-1.png", - "size": 13797, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/map-1.png" - }, - "map-location.png": { - "fileName": "map-location.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/map-location.png", - "size": 19743, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/map-location.png" - }, - "picture-2.png": { - "fileName": "picture-2.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/picture-2.png", - "size": 7389, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/picture-2.png" - }, - "placeholder.png": { - "fileName": "placeholder.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/placeholder.png", - "size": 11105, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/placeholder.png" - }, - "rescuetime.png": { - "fileName": "rescuetime.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/rescuetime.png", - "size": 1862, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/rescuetime.png" - }, - "runner.png": { - "fileName": "runner.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/runner.png", - "size": 13630, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/runner.png" - }, - "slim-down.png": { - "fileName": "slim-down.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/slim-down.png", - "size": 12938, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/slim-down.png" - }, - "smartphone-import-from-apps.png": { - "fileName": "smartphone-import-from-apps.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/smartphone-import-from-apps.png", - "size": 14587, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/smartphone-import-from-apps.png" - }, - "smartphone.svg": { - "fileName": "smartphone.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/smartphone.svg", - "size": 8611, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/smartphone.svg" - }, - "smartwatch.svg": { - "fileName": "smartwatch.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/smartwatch.svg", - "size": 3523, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/features/smartwatch.svg" - }, - "spending-receipt.jpg": { - "fileName": "spending-receipt.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/spending-receipt.jpg", - "size": 20574, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/spending-receipt.jpg" - }, - "weighing-scale.png": { - "fileName": "weighing-scale.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/features/weighing-scale.png", - "size": 14796, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/features/weighing-scale.png" - }, - "gauge-moderately-negative-relationship-200-200.png": { - "fileName": "gauge-moderately-negative-relationship-200-200.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/200-200/gauge-moderately-negative-relationship-200-200.png", - "size": 12019, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/gauges/200-200/gauge-moderately-negative-relationship-200-200.png" - }, - "gauge-moderately-positive-relationship-200-200.png": { - "fileName": "gauge-moderately-positive-relationship-200-200.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/200-200/gauge-moderately-positive-relationship-200-200.png", - "size": 12013, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/gauges/200-200/gauge-moderately-positive-relationship-200-200.png" - }, - "gauge-non-existent-relationship-200-200.png": { - "fileName": "gauge-non-existent-relationship-200-200.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/200-200/gauge-non-existent-relationship-200-200.png", - "size": 10349, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/200-200/gauge-non-existent-relationship-200-200.png" - }, - "gauge-strongly-negative-relationship-200-200.png": { - "fileName": "gauge-strongly-negative-relationship-200-200.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/200-200/gauge-strongly-negative-relationship-200-200.png", - "size": 13354, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/gauges/200-200/gauge-strongly-negative-relationship-200-200.png" - }, - "gauge-strongly-positive-relationship-200-200.png": { - "fileName": "gauge-strongly-positive-relationship-200-200.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/200-200/gauge-strongly-positive-relationship-200-200.png", - "size": 11362, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/gauges/200-200/gauge-strongly-positive-relationship-200-200.png" - }, - "gauge-weakly-negative-relationship-200-200.png": { - "fileName": "gauge-weakly-negative-relationship-200-200.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/200-200/gauge-weakly-negative-relationship-200-200.png", - "size": 11649, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/200-200/gauge-weakly-negative-relationship-200-200.png" - }, - "gauge-weakly-positive-relationship-200-200.png": { - "fileName": "gauge-weakly-positive-relationship-200-200.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/200-200/gauge-weakly-positive-relationship-200-200.png", - "size": 11565, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/200-200/gauge-weakly-positive-relationship-200-200.png" - }, - "gauge-moderately-negative-relationship.png": { - "fileName": "gauge-moderately-negative-relationship.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/246-120/gauge-moderately-negative-relationship.png", - "size": 6184, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/246-120/gauge-moderately-negative-relationship.png" - }, - "gauge-moderately-positive-relationship.png": { - "fileName": "gauge-moderately-positive-relationship.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/246-120/gauge-moderately-positive-relationship.png", - "size": 6151, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/246-120/gauge-moderately-positive-relationship.png" - }, - "gauge-non-existent-relationship.png": { - "fileName": "gauge-non-existent-relationship.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/246-120/gauge-non-existent-relationship.png", - "size": 4883, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/246-120/gauge-non-existent-relationship.png" - }, - "gauge-strongly-negative-relationship.png": { - "fileName": "gauge-strongly-negative-relationship.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/246-120/gauge-strongly-negative-relationship.png", - "size": 5969, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/246-120/gauge-strongly-negative-relationship.png" - }, - "gauge-strongly-positive-relationship.png": { - "fileName": "gauge-strongly-positive-relationship.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/246-120/gauge-strongly-positive-relationship.png", - "size": 5937, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/246-120/gauge-strongly-positive-relationship.png" - }, - "gauge-weakly-negative-relationship.png": { - "fileName": "gauge-weakly-negative-relationship.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/246-120/gauge-weakly-negative-relationship.png", - "size": 6091, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/246-120/gauge-weakly-negative-relationship.png" - }, - "gauge-weakly-positive-relationship.png": { - "fileName": "gauge-weakly-positive-relationship.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/246-120/gauge-weakly-positive-relationship.png", - "size": 5999, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/gauges/246-120/gauge-weakly-positive-relationship.png" - }, - "gauge-moderately-negative-relationship.svg": { - "fileName": "gauge-moderately-negative-relationship.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/svgs/gauge-moderately-negative-relationship.svg", - "size": 3167, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/svgs/gauge-moderately-negative-relationship.svg" - }, - "gauge-moderately-positive-relationship.svg": { - "fileName": "gauge-moderately-positive-relationship.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/svgs/gauge-moderately-positive-relationship.svg", - "size": 3180, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/svgs/gauge-moderately-positive-relationship.svg" - }, - "gauge-no-relationship.svg": { - "fileName": "gauge-no-relationship.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/svgs/gauge-no-relationship.svg", - "size": 3122, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/svgs/gauge-no-relationship.svg" - }, - "gauge-strong-negative-relationship.svg": { - "fileName": "gauge-strong-negative-relationship.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/svgs/gauge-strong-negative-relationship.svg", - "size": 3188, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/svgs/gauge-strong-negative-relationship.svg" - }, - "gauge-strong-positive-relationship.svg": { - "fileName": "gauge-strong-positive-relationship.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/svgs/gauge-strong-positive-relationship.svg", - "size": 3180, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/svgs/gauge-strong-positive-relationship.svg" - }, - "gauge-weak-negative-relationship.svg": { - "fileName": "gauge-weak-negative-relationship.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/svgs/gauge-weak-negative-relationship.svg", - "size": 3236, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/gauges/svgs/gauge-weak-negative-relationship.svg" - }, - "gauge-weak-positive-relationship.svg": { - "fileName": "gauge-weak-positive-relationship.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gauges/svgs/gauge-weak-positive-relationship.svg", - "size": 3180, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/gauges/svgs/gauge-weak-positive-relationship.svg" - }, - "gluten-study.jpg": { - "fileName": "gluten-study.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/gluten-study.jpg", - "size": 94640, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:29.000Z", - "key": "img/gluten-study.jpg" - }, - "goal-to-autonomous-task-completion.png": { - "fileName": "goal-to-autonomous-task-completion.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/goal-to-autonomous-task-completion.png", - "size": 63761, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:29.000Z", - "key": "img/goal-to-autonomous-task-completion.png" - }, - "growth-in-health-data-chart.png": { - "fileName": "growth-in-health-data-chart.png", - "originalPath": "assets/growth-in-health-data-chart.png", - "s3Url": "https://static.crowdsourcingcures.org/img/growth-in-health-data-chart.png", - "size": 117125, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:48.957Z", - "key": "img/growth-in-health-data-chart.png" - }, - "health-care-costs-and-life-expectancy.png": { - "fileName": "health-care-costs-and-life-expectancy.png", - "originalPath": "assets/health-care-costs-and-life-expectancy.png", - "s3Url": "https://static.crowdsourcingcures.org/img/health-care-costs-and-life-expectancy.png", - "size": 62860, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:49.117Z", - "key": "img/health-care-costs-and-life-expectancy.png" - }, - "healthcare-expenditure-per-capita.png": { - "fileName": "healthcare-expenditure-per-capita.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/healthcare-expenditure-per-capita.png", - "size": 0, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:30.000Z", - "key": "img/healthcare-expenditure-per-capita.png" - }, - "how-much-we-know.png": { - "fileName": "how-much-we-know.png", - "originalPath": "assets/how-much-we-know.png", - "s3Url": "https://static.crowdsourcingcures.org/img/how-much-we-know.png", - "size": 118780, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:32:15.176Z", - "key": "img/how-much-we-know.png" - }, - "ic_shopping_cart.png": { - "fileName": "ic_shopping_cart.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/ic_shopping_cart.png", - "size": 1013, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/ic_shopping_cart.png" - }, - ".gitkeep": { - "fileName": ".gitkeep", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/icons/.gitkeep", - "size": 0, - "mimeType": "application/octet-stream", - "uploadDate": "2024-03-07T06:13:06.000Z", - "key": "img/icons/.gitkeep" - }, - "icon_1024.png": { - "fileName": "icon_1024.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/icons/icon_1024.png", - "size": 269998, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/icons/icon_1024.png" - }, - "icon_128.png": { - "fileName": "icon_128.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/icons/icon_128.png", - "size": 15496, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/icons/icon_128.png" - }, - "icon_16.png": { - "fileName": "icon_16.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/icons/icon_16.png", - "size": 1445, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/icons/icon_16.png" - }, - "icon_192.png": { - "fileName": "icon_192.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/icons/icon_192.png", - "size": 25286, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/icons/icon_192.png" - }, - "icon_48.png": { - "fileName": "icon_48.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/icons/icon_48.png", - "size": 4873, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/icons/icon_48.png" - }, - "icon_512.png": { - "fileName": "icon_512.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/icons/icon_512.png", - "size": 86948, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/icons/icon_512.png" - }, - "icon_700.png": { - "fileName": "icon_700.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/icons/icon_700.png", - "size": 151664, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/icons/icon_700.png" - }, - "icon_white_1024.png": { - "fileName": "icon_white_1024.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/icons/icon_white_1024.png", - "size": 243141, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/icons/icon_white_1024.png" - }, - "import-data.png": { - "fileName": "import-data.png", - "originalPath": "import-data.png", - "s3Url": "https://static.crowdsourcingcures.org/img/import-data.png", - "size": 812239, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:16.848Z", - "key": "img/import-data.png" - }, - "incentive-alignment.png": { - "fileName": "incentive-alignment.png", - "originalPath": "assets/incentive-alignment.png", - "s3Url": "https://static.crowdsourcingcures.org/img/incentive-alignment.png", - "size": 229443, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:52.178Z", - "key": "img/incentive-alignment.png" - }, - "inflammation-factors.PNG": { - "fileName": "inflammation-factors.PNG", - "originalPath": "assets/inflammation-factors.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/inflammation-factors.PNG", - "size": 119685, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:28.571Z", - "key": "img/inflammation-factors.PNG" - }, - "inflammation-worldwide.PNG": { - "fileName": "inflammation-worldwide.PNG", - "originalPath": "assets/inflammation-worldwide.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/inflammation-worldwide.PNG", - "size": 226480, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:28.389Z", - "key": "img/inflammation-worldwide.PNG" - }, - "doctor-frown-factors-circle-background.png": { - "fileName": "doctor-frown-factors-circle-background.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/doctor-frown-factors-circle-background.png", - "size": 40908, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/intro/doctor-frown-factors-circle-background.png" - }, - "doctor-frown-factors.png": { - "fileName": "doctor-frown-factors.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/doctor-frown-factors.png", - "size": 40101, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/intro/doctor-frown-factors.png" - }, - "doctor-frown.svg": { - "fileName": "doctor-frown.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/doctor-frown.svg", - "size": 4555, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/intro/doctor-frown.svg" - }, - "doctor_icon.png": { - "fileName": "doctor_icon.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/doctor_icon.png", - "size": 41489, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/intro/doctor_icon.png" - }, - "download_2-96.png": { - "fileName": "download_2-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/download_2-96.png", - "size": 946, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/intro/download_2-96.png" - }, - "inbox.svg": { - "fileName": "inbox.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/inbox.svg", - "size": 1356, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/intro/inbox.svg" - }, - "intro_import.png": { - "fileName": "intro_import.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/intro_import.png", - "size": 12451, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/intro/intro_import.png" - }, - "intro_make_discoveries.png": { - "fileName": "intro_make_discoveries.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/intro_make_discoveries.png", - "size": 15450, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/intro/intro_make_discoveries.png" - }, - "intro_track_anything.png": { - "fileName": "intro_track_anything.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/intro_track_anything.png", - "size": 11607, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/intro/intro_track_anything.png" - }, - "lock.svg": { - "fileName": "lock.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/lock.svg", - "size": 966, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/intro/lock.svg" - }, - "patient-factors-circle.png": { - "fileName": "patient-factors-circle.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/patient-factors-circle.png", - "size": 40182, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/intro/patient-factors-circle.png" - }, - "patient-frown-factors.png": { - "fileName": "patient-frown-factors.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/patient-frown-factors.png", - "size": 40232, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/intro/patient-frown-factors.png" - }, - "pill_icon.png": { - "fileName": "pill_icon.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/pill_icon.png", - "size": 129682, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/intro/pill_icon.png" - }, - "symptoms_icon.png": { - "fileName": "symptoms_icon.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/intro/symptoms_icon.png", - "size": 22730, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/intro/symptoms_icon.png" - }, - "ionic.svg": { - "fileName": "ionic.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/ionic.svg", - "size": 1375, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/ionic.svg" - }, - "journal-of-citizen-science.png": { - "fileName": "journal-of-citizen-science.png", - "originalPath": "assets/journal-of-citizen-science.png", - "s3Url": "https://static.crowdsourcingcures.org/img/journal-of-citizen-science.png", - "size": 82725, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:48.166Z", - "key": "img/journal-of-citizen-science.png" - }, - "large-platform-diagram-no-colors.png": { - "fileName": "large-platform-diagram-no-colors.png", - "originalPath": "assets/large-platform-diagram-no-colors.png", - "s3Url": "https://static.crowdsourcingcures.org/img/large-platform-diagram-no-colors.png", - "size": 1401742, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:39.861Z", - "key": "img/large-platform-diagram-no-colors.png" - }, - "layered-platform-architecture-diagram.png": { - "fileName": "layered-platform-architecture-diagram.png", - "originalPath": "assets/layered-platform-architecture-diagram.png", - "s3Url": "https://static.crowdsourcingcures.org/img/layered-platform-architecture-diagram.png", - "size": 1419293, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:51.823Z", - "key": "img/layered-platform-architecture-diagram.png" - }, - "learn-phase-brain.jpg": { - "fileName": "learn-phase-brain.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/learn-phase-brain.jpg", - "size": 43344, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:30.000Z", - "key": "img/learn-phase-brain.jpg" - }, - "leverage-archimedes-comic.png": { - "fileName": "leverage-archimedes-comic.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/leverage-archimedes-comic.png", - "size": 16954, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:31.000Z", - "key": "img/leverage-archimedes-comic.png" - }, - "life-expectancy-and-costs.PNG": { - "fileName": "life-expectancy-and-costs.PNG", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/life-expectancy-and-costs.PNG", - "size": 280479, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:31.000Z", - "key": "img/life-expectancy-and-costs.PNG" - }, - "life-expectancy-chart.png": { - "fileName": "life-expectancy-chart.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/life-expectancy-chart.png", - "size": 63519, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:32.000Z", - "key": "img/life-expectancy-chart.png" - }, - "life-expectancy-costs-no-background.png": { - "fileName": "life-expectancy-costs-no-background.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/life-expectancy-costs-no-background.png", - "size": 76965, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:32.000Z", - "key": "img/life-expectancy-costs-no-background.png" - }, - "life-expectancy-costs.png": { - "fileName": "life-expectancy-costs.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/life-expectancy-costs.png", - "size": 152149, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:32.000Z", - "key": "img/life-expectancy-costs.png" - }, - "life-expectancy-healthcare-spending.svg": { - "fileName": "life-expectancy-healthcare-spending.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/life-expectancy-healthcare-spending.svg", - "size": 17345, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:32.000Z", - "key": "img/life-expectancy-healthcare-spending.svg" - }, - "life-expectancy-historical.jpg": { - "fileName": "life-expectancy-historical.jpg", - "originalPath": "assets/life-expectancy/life-expectancy-historical.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/life-expectancy-historical.jpg", - "size": 66825, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:47.838Z", - "key": "img/life-expectancy-historical.jpg" - }, - "Pacman-1s-200px.svg": { - "fileName": "Pacman-1s-200px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/loaders/Pacman-1s-200px.svg", - "size": 1984, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/loaders/Pacman-1s-200px.svg" - }, - "circular_loader.gif": { - "fileName": "circular_loader.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/loaders/circular_loader.gif", - "size": 1669, - "mimeType": "image/gif", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/loaders/circular_loader.gif" - }, - "pop_tart_cat.gif": { - "fileName": "pop_tart_cat.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/loaders/pop_tart_cat.gif", - "size": 58551, - "mimeType": "image/gif", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/loaders/pop_tart_cat.gif" - }, - "pop_tart_cat_blue_background.gif": { - "fileName": "pop_tart_cat_blue_background.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/loaders/pop_tart_cat_blue_background.gif", - "size": 15419, - "mimeType": "image/gif", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/loaders/pop_tart_cat_blue_background.gif" - }, - "purple-upload-check-loader_cropped_56px.gif": { - "fileName": "purple-upload-check-loader_cropped_56px.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/loaders/purple-upload-check-loader_cropped_56px.gif", - "size": 36454, - "mimeType": "image/gif", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/loaders/purple-upload-check-loader_cropped_56px.gif" - }, - "rainbow-loader.gif": { - "fileName": "rainbow-loader.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/loaders/rainbow-loader.gif", - "size": 13428, - "mimeType": "image/gif", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/loaders/rainbow-loader.gif" - }, - "medimodo-text-logo-250-56.png": { - "fileName": "medimodo-text-logo-250-56.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/medimodo/medimodo-text-logo-250-56.png", - "size": 5074, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/logos/medimodo/medimodo-text-logo-250-56.png" - }, - "medimodo-text-logo-832-185.png": { - "fileName": "medimodo-text-logo-832-185.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/medimodo/medimodo-text-logo-832-185.png", - "size": 5985, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/logos/medimodo/medimodo-text-logo-832-185.png" - }, - "quantimodo-colorful-logo-path-400-82.png": { - "fileName": "quantimodo-colorful-logo-path-400-82.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo-colorful-logo-path-400-82.png", - "size": 6160, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/logos/quantimodo-colorful-logo-path-400-82.png" - }, - "quantimodo-colorful-logo-path-600-120.png": { - "fileName": "quantimodo-colorful-logo-path-600-120.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo-colorful-logo-path-600-120.png", - "size": 13321, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/logos/quantimodo-colorful-logo-path-600-120.png" - }, - "quantimodo-colorful-logo-path-820-168.png": { - "fileName": "quantimodo-colorful-logo-path-820-168.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo-colorful-logo-path-820-168.png", - "size": 15893, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/logos/quantimodo-colorful-logo-path-820-168.png" - }, - "quantimodo-logo-qm-rainbow-200-200.png": { - "fileName": "quantimodo-logo-qm-rainbow-200-200.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo-logo-qm-rainbow-200-200.png", - "size": 55344, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/logos/quantimodo-logo-qm-rainbow-200-200.png" - }, - "quantimodo-logo-simple-110-280.png": { - "fileName": "quantimodo-logo-simple-110-280.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo-logo-simple-110-280.png", - "size": 3475, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/logos/quantimodo-logo-simple-110-280.png" - }, - "quantimodo-logo-simple-300-60.png": { - "fileName": "quantimodo-logo-simple-300-60.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo-logo-simple-300-60.png", - "size": 15667, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/logos/quantimodo-logo-simple-300-60.png" - }, - "quantimodo-logo-simple-480-290.png": { - "fileName": "quantimodo-logo-simple-480-290.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo-logo-simple-480-290.png", - "size": 17323, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/logos/quantimodo-logo-simple-480-290.png" - }, - "quantimodo-logo-white-310x66.png": { - "fileName": "quantimodo-logo-white-310x66.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo-logo-white-310x66.png", - "size": 14875, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/logos/quantimodo-logo-white-310x66.png" - }, - "Black-Circle-QM-Rainbow-Logo-1024-1024.png": { - "fileName": "Black-Circle-QM-Rainbow-Logo-1024-1024.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo/Black-Circle-QM-Rainbow-Logo-1024-1024.png", - "size": 89040, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/logos/quantimodo/Black-Circle-QM-Rainbow-Logo-1024-1024.png" - }, - "quantimodo-logo-qm-rainbow-150x150.jpg": { - "fileName": "quantimodo-logo-qm-rainbow-150x150.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo/quantimodo-logo-qm-rainbow-150x150.jpg", - "size": 36234, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/logos/quantimodo/quantimodo-logo-qm-rainbow-150x150.jpg" - }, - "quantimodo-logo-qm-rainbow-black-background.png": { - "fileName": "quantimodo-logo-qm-rainbow-black-background.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo/quantimodo-logo-qm-rainbow-black-background.png", - "size": 14520, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/logos/quantimodo/quantimodo-logo-qm-rainbow-black-background.png" - }, - "quantimodo-logos-rainbow-1200-630.gif": { - "fileName": "quantimodo-logos-rainbow-1200-630.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo/quantimodo-logos-rainbow-1200-630.gif", - "size": 26383, - "mimeType": "image/gif", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/logos/quantimodo/quantimodo-logos-rainbow-1200-630.gif" - }, - "quantimodo-logos-rainbow-1200-630.png": { - "fileName": "quantimodo-logos-rainbow-1200-630.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo/quantimodo-logos-rainbow-1200-630.png", - "size": 8268, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/logos/quantimodo/quantimodo-logos-rainbow-1200-630.png" - }, - "quantimodo-logos-rainbow-600-315.png": { - "fileName": "quantimodo-logos-rainbow-600-315.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/logos/quantimodo/quantimodo-logos-rainbow-600-315.png", - "size": 8268, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/logos/quantimodo/quantimodo-logos-rainbow-600-315.png" - }, - "machine-learning-health-optimization.png": { - "fileName": "machine-learning-health-optimization.png", - "originalPath": "machine-learning-health-optimization.png", - "s3Url": "https://static.crowdsourcingcures.org/img/machine-learning-health-optimization.png", - "size": 450883, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:36.947Z", - "key": "img/machine-learning-health-optimization.png" - }, - "addShoppingCart.svg": { - "fileName": "addShoppingCart.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/addShoppingCart.svg", - "size": 503, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/addShoppingCart.svg" - }, - "android.svg": { - "fileName": "android.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/android.svg", - "size": 664, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/android.svg" - }, - "angular-logo.svg": { - "fileName": "angular-logo.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/angular-logo.svg", - "size": 939, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/angular-logo.svg" - }, - "bower-logo.svg": { - "fileName": "bower-logo.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/bower-logo.svg", - "size": 4768, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/bower-logo.svg" - }, - "cake.svg": { - "fileName": "cake.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/cake.svg", - "size": 636, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/cake.svg" - }, - "codepen-logo.svg": { - "fileName": "codepen-logo.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/codepen-logo.svg", - "size": 2520, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/codepen-logo.svg" - }, - "copy.svg": { - "fileName": "copy.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/copy.svg", - "size": 356, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/copy.svg" - }, - "copy2.svg": { - "fileName": "copy2.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/copy2.svg", - "size": 365, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/copy2.svg" - }, - "facebook.svg": { - "fileName": "facebook.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/facebook.svg", - "size": 394, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/facebook.svg" - }, - "favorite.svg": { - "fileName": "favorite.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/favorite.svg", - "size": 332, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/favorite.svg" - }, - "github-icon.svg": { - "fileName": "github-icon.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/github-icon.svg", - "size": 1111, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/github-icon.svg" - }, - "github.svg": { - "fileName": "github.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/github.svg", - "size": 1856, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/github.svg" - }, - "hangout.svg": { - "fileName": "hangout.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/hangout.svg", - "size": 367, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/hangout.svg" - }, - "ic_access_time_24px.svg": { - "fileName": "ic_access_time_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_access_time_24px.svg", - "size": 622, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/ic_access_time_24px.svg" - }, - "ic_arrow_back_24px.svg": { - "fileName": "ic_arrow_back_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_arrow_back_24px.svg", - "size": 435, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/ic_arrow_back_24px.svg" - }, - "ic_arrow_up_24px.svg": { - "fileName": "ic_arrow_up_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_arrow_up_24px.svg", - "size": 184, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/ic_arrow_up_24px.svg" - }, - "ic_build_24px.svg": { - "fileName": "ic_build_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_build_24px.svg", - "size": 346, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/ic_build_24px.svg" - }, - "ic_camera_enhance_white_24px.svg": { - "fileName": "ic_camera_enhance_white_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_camera_enhance_white_24px.svg", - "size": 382, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/ic_camera_enhance_white_24px.svg" - }, - "ic_card_giftcard_24px.svg": { - "fileName": "ic_card_giftcard_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_card_giftcard_24px.svg", - "size": 586, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/ic_card_giftcard_24px.svg" - }, - "ic_chevron_right_24px.svg": { - "fileName": "ic_chevron_right_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_chevron_right_24px.svg", - "size": 431, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/ic_chevron_right_24px.svg" - }, - "ic_close_24px.svg": { - "fileName": "ic_close_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_close_24px.svg", - "size": 202, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_close_24px.svg" - }, - "ic_code_24px.svg": { - "fileName": "ic_code_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_code_24px.svg", - "size": 230, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/ic_code_24px.svg" - }, - "ic_comment_24px.svg": { - "fileName": "ic_comment_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_comment_24px.svg", - "size": 513, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/ic_comment_24px.svg" - }, - "ic_credit_card_black_24px.svg": { - "fileName": "ic_credit_card_black_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_credit_card_black_24px.svg", - "size": 272, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_credit_card_black_24px.svg" - }, - "ic_email_24px.svg": { - "fileName": "ic_email_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_email_24px.svg", - "size": 257, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_email_24px.svg" - }, - "ic_euro_24px.svg": { - "fileName": "ic_euro_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_euro_24px.svg", - "size": 1665, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_euro_24px.svg" - }, - "ic_help_outline_white_24px.svg": { - "fileName": "ic_help_outline_white_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_help_outline_white_24px.svg", - "size": 393, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:08.000Z", - "key": "img/material-icons/ic_help_outline_white_24px.svg" - }, - "ic_insert_drive_file_24px.svg": { - "fileName": "ic_insert_drive_file_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_insert_drive_file_24px.svg", - "size": 225, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_insert_drive_file_24px.svg" - }, - "ic_label_24px.svg": { - "fileName": "ic_label_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_label_24px.svg", - "size": 493, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_label_24px.svg" - }, - "ic_launch_24px.svg": { - "fileName": "ic_launch_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_launch_24px.svg", - "size": 509, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_launch_24px.svg" - }, - "ic_menu_24px.svg": { - "fileName": "ic_menu_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_menu_24px.svg", - "size": 432, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_menu_24px.svg" - }, - "ic_more_vert_24px.svg": { - "fileName": "ic_more_vert_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_more_vert_24px.svg", - "size": 575, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_more_vert_24px.svg" - }, - "ic_ondemand_video_24px.svg": { - "fileName": "ic_ondemand_video_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_ondemand_video_24px.svg", - "size": 266, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_ondemand_video_24px.svg" - }, - "ic_people_24px.svg": { - "fileName": "ic_people_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_people_24px.svg", - "size": 676, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_people_24px.svg" - }, - "ic_person_24px.svg": { - "fileName": "ic_person_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_person_24px.svg", - "size": 249, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_person_24px.svg" - }, - "ic_phone_24px.svg": { - "fileName": "ic_phone_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_phone_24px.svg", - "size": 382, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_phone_24px.svg" - }, - "ic_photo_24px.svg": { - "fileName": "ic_photo_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_photo_24px.svg", - "size": 518, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_photo_24px.svg" - }, - "ic_place_24px.svg": { - "fileName": "ic_place_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_place_24px.svg", - "size": 295, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_place_24px.svg" - }, - "ic_play_arrow_24px.svg": { - "fileName": "ic_play_arrow_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_play_arrow_24px.svg", - "size": 419, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_play_arrow_24px.svg" - }, - "ic_play_circle_fill_24px.svg": { - "fileName": "ic_play_circle_fill_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_play_circle_fill_24px.svg", - "size": 228, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_play_circle_fill_24px.svg" - }, - "ic_refresh_24px.svg": { - "fileName": "ic_refresh_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_refresh_24px.svg", - "size": 553, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_refresh_24px.svg" - }, - "ic_school_24px.svg": { - "fileName": "ic_school_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_school_24px.svg", - "size": 213, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_school_24px.svg" - }, - "ic_security_black_24px.svg": { - "fileName": "ic_security_black_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_security_black_24px.svg", - "size": 272, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_security_black_24px.svg" - }, - "ic_visibility_24px.svg": { - "fileName": "ic_visibility_24px.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/ic_visibility_24px.svg", - "size": 600, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/ic_visibility_24px.svg" - }, - "launch.svg": { - "fileName": "launch.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/launch.svg", - "size": 282, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/launch.svg" - }, - "list_control_down.png": { - "fileName": "list_control_down.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/list_control_down.png", - "size": 197, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/list_control_down.png" - }, - "mail.svg": { - "fileName": "mail.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/mail.svg", - "size": 342, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/mail.svg" - }, - "menu.svg": { - "fileName": "menu.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/menu.svg", - "size": 208, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/menu.svg" - }, - "message.svg": { - "fileName": "message.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/message.svg", - "size": 356, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/message.svg" - }, - "more_vert.svg": { - "fileName": "more_vert.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/more_vert.svg", - "size": 366, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/more_vert.svg" - }, - "npm-logo.svg": { - "fileName": "npm-logo.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/npm-logo.svg", - "size": 460, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/npm-logo.svg" - }, - "octicon-repo.svg": { - "fileName": "octicon-repo.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/octicon-repo.svg", - "size": 446, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/octicon-repo.svg" - }, - "print.svg": { - "fileName": "print.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/print.svg", - "size": 393, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/print.svg" - }, - "separator.svg": { - "fileName": "separator.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/separator.svg", - "size": 293, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/separator.svg" - }, - "communication-icons.svg": { - "fileName": "communication-icons.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/sets/communication-icons.svg", - "size": 9351, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/material-icons/sets/communication-icons.svg" - }, - "core-icons.svg": { - "fileName": "core-icons.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/sets/core-icons.svg", - "size": 8541, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/material-icons/sets/core-icons.svg" - }, - "device-icons.svg": { - "fileName": "device-icons.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/sets/device-icons.svg", - "size": 17501, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/material-icons/sets/device-icons.svg" - }, - "social-icons.svg": { - "fileName": "social-icons.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/sets/social-icons.svg", - "size": 6940, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/material-icons/sets/social-icons.svg" - }, - "share-arrow.svg": { - "fileName": "share-arrow.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/share-arrow.svg", - "size": 276, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/share-arrow.svg" - }, - "tabs-arrow.svg": { - "fileName": "tabs-arrow.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/tabs-arrow.svg", - "size": 356, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/tabs-arrow.svg" - }, - "toggle-arrow.svg": { - "fileName": "toggle-arrow.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/toggle-arrow.svg", - "size": 162, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/toggle-arrow.svg" - }, - "twitter.svg": { - "fileName": "twitter.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/twitter.svg", - "size": 671, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/twitter.svg" - }, - "upload.svg": { - "fileName": "upload.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/material-icons/upload.svg", - "size": 457, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/material-icons/upload.svg" - }, - "medical_records.png": { - "fileName": "medical_records.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/medical_records.png", - "size": 2348, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/medical_records.png" - }, - "medical_records.svg": { - "fileName": "medical_records.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/medical_records.svg", - "size": 1562, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/medical_records.svg" - }, - "memory-planning-action-agents.png": { - "fileName": "memory-planning-action-agents.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/memory-planning-action-agents.png", - "size": 136469, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:33.000Z", - "key": "img/memory-planning-action-agents.png" - }, - "micoff.png": { - "fileName": "micoff.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/micoff.png", - "size": 754, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/micoff.png" - }, - "micon.png": { - "fileName": "micon.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/micon.png", - "size": 682, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/micon.png" - }, - "model_based_utility.png": { - "fileName": "model_based_utility.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/model_based_utility.png", - "size": 14584, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:33.000Z", - "key": "img/model_based_utility.png" - }, - "mood-predictors-bar-chart.png": { - "fileName": "mood-predictors-bar-chart.png", - "originalPath": "assets/mood-predictors-bar-chart.png", - "s3Url": "https://static.crowdsourcingcures.org/img/mood-predictors-bar-chart.png", - "size": 165970, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:32.175Z", - "key": "img/mood-predictors-bar-chart.png" - }, - "mood-predictors-nutrition-facts-style.png": { - "fileName": "mood-predictors-nutrition-facts-style.png", - "originalPath": "assets/mood-predictors-nutrition-facts-style.png", - "s3Url": "https://static.crowdsourcingcures.org/img/mood-predictors-nutrition-facts-style.png", - "size": 91284, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:31.833Z", - "key": "img/mood-predictors-nutrition-facts-style.png" - }, - "more-surviving-more-therapies.gif": { - "fileName": "more-surviving-more-therapies.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/more-surviving-more-therapies.gif", - "size": 46175, - "mimeType": "image/gif", - "uploadDate": "2025-01-16T21:13:33.000Z", - "key": "img/more-surviving-more-therapies.gif" - }, - "new-treatments-per-year-2.png": { - "fileName": "new-treatments-per-year-2.png", - "originalPath": "assets/new-treatments-per-year-2.png", - "s3Url": "https://static.crowdsourcingcures.org/img/new-treatments-per-year-2.png", - "size": 51546, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:45.830Z", - "key": "img/new-treatments-per-year-2.png" - }, - "non-existent-times.png": { - "fileName": "non-existent-times.png", - "originalPath": "assets/non-existent-times.png", - "s3Url": "https://static.crowdsourcingcures.org/img/non-existent-times.png", - "size": 826238, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:44.786Z", - "key": "img/non-existent-times.png" - }, - "nonprofit-leverage.png": { - "fileName": "nonprofit-leverage.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/nonprofit-leverage.png", - "size": 90441, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:34.000Z", - "key": "img/nonprofit-leverage.png" - }, - "number-of-clinical-research-studies.png": { - "fileName": "number-of-clinical-research-studies.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/number-of-clinical-research-studies.png", - "size": 38103, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:35.000Z", - "key": "img/number-of-clinical-research-studies.png" - }, - "observational-vs-randomized-effect-sizes.png": { - "fileName": "observational-vs-randomized-effect-sizes.png", - "originalPath": "assets/observational-vs-randomized-effect-sizes.png", - "s3Url": "https://static.crowdsourcingcures.org/img/observational-vs-randomized-effect-sizes.png", - "size": 74499, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:46.507Z", - "key": "img/observational-vs-randomized-effect-sizes.png" - }, - "observational-vs-randomized-trial-effect-sizes.png": { - "fileName": "observational-vs-randomized-trial-effect-sizes.png", - "originalPath": "assets/observational-vs-randomized-trial-effect-sizes.png", - "s3Url": "https://static.crowdsourcingcures.org/img/observational-vs-randomized-trial-effect-sizes.png", - "size": 120746, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:46.690Z", - "key": "img/observational-vs-randomized-trial-effect-sizes.png" - }, - "onset-delay-970x1024.jpg": { - "fileName": "onset-delay-970x1024.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/onset-delay-970x1024.jpg", - "size": 108625, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:35.000Z", - "key": "img/onset-delay-970x1024.jpg" - }, - "open-cures-app-experiments.png": { - "fileName": "open-cures-app-experiments.png", - "originalPath": "assets/open-cures-app-experiments.png", - "s3Url": "https://static.crowdsourcingcures.org/img/open-cures-app-experiments.png", - "size": 2044637, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:25.644Z", - "key": "img/open-cures-app-experiments.png" - }, - "optimitron-ai-assistant.png": { - "fileName": "optimitron-ai-assistant.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/optimitron-ai-assistant.png", - "size": 417425, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:36.000Z", - "key": "img/optimitron-ai-assistant.png" - }, - "optomitron-diagram.PNG": { - "fileName": "optomitron-diagram.PNG", - "originalPath": "assets/optomitron-diagram.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/optomitron-diagram.PNG", - "size": 393436, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:29.198Z", - "key": "img/optomitron-diagram.PNG" - }, - "optomitron-youtube-screenshot.png": { - "fileName": "optomitron-youtube-screenshot.png", - "originalPath": "optomitron-youtube-screenshot.png", - "s3Url": "https://static.crowdsourcingcures.org/img/optomitron-youtube-screenshot.png", - "size": 461953, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:26.150Z", - "key": "img/optomitron-youtube-screenshot.png" - }, - "outcome-labels-no-bg.jpg": { - "fileName": "outcome-labels-no-bg.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/outcome-labels-no-bg.jpg", - "size": 125202, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:36.000Z", - "key": "img/outcome-labels-no-bg.jpg" - }, - "outcome-labels.PNG": { - "fileName": "outcome-labels.PNG", - "originalPath": "assets/outcome-labels.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/outcome-labels.PNG", - "size": 296061, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:35.980Z", - "key": "img/outcome-labels.PNG" - }, - "overall-mood-predictors-flow-sankey-chart.png": { - "fileName": "overall-mood-predictors-flow-sankey-chart.png", - "originalPath": "assets/overall-mood-predictors-flow-sankey-chart.png", - "s3Url": "https://static.crowdsourcingcures.org/img/overall-mood-predictors-flow-sankey-chart.png", - "size": 944409, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:33.155Z", - "key": "img/overall-mood-predictors-flow-sankey-chart.png" - }, - "overall-mood-predictors-network-graph.png": { - "fileName": "overall-mood-predictors-network-graph.png", - "originalPath": "assets/overall-mood-predictors-network-graph.png", - "s3Url": "https://static.crowdsourcingcures.org/img/overall-mood-predictors-network-graph.png", - "size": 230652, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:30.400Z", - "key": "img/overall-mood-predictors-network-graph.png" - }, - "overall-mood-predictors.png": { - "fileName": "overall-mood-predictors.png", - "originalPath": "assets/overall-mood-predictors.png", - "s3Url": "https://static.crowdsourcingcures.org/img/overall-mood-predictors.png", - "size": 194935, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:31.652Z", - "key": "img/overall-mood-predictors.png" - }, - "paradise-engineer-3.jpg": { - "fileName": "paradise-engineer-3.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/paradise-engineer-3.jpg", - "size": 104391, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:37.000Z", - "key": "img/paradise-engineer-3.jpg" - }, - "paradise-engineer-5.jpg": { - "fileName": "paradise-engineer-5.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/paradise-engineer-5.jpg", - "size": 215331, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:37.000Z", - "key": "img/paradise-engineer-5.jpg" - }, - "paradise-engineers-wanted-wide.jpg": { - "fileName": "paradise-engineers-wanted-wide.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/paradise-engineers-wanted-wide.jpg", - "size": 153597, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:37.000Z", - "key": "img/paradise-engineers-wanted-wide.jpg" - }, - "paradise-engineers-wanted.jpg": { - "fileName": "paradise-engineers-wanted.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/paradise-engineers-wanted.jpg", - "size": 434999, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:38.000Z", - "key": "img/paradise-engineers-wanted.jpg" - }, - "patient-with-cancer.jpg": { - "fileName": "patient-with-cancer.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/patient-with-cancer.jpg", - "size": 234843, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:38.000Z", - "key": "img/patient-with-cancer.jpg" - }, - "placeholder-image.png": { - "fileName": "placeholder-image.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/placeholder-image.png", - "size": 0, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:38.000Z", - "key": "img/placeholder-image.png" - }, - "platform-architecture.png": { - "fileName": "platform-architecture.png", - "originalPath": "platform-architecture.png", - "s3Url": "https://static.crowdsourcingcures.org/img/platform-architecture.png", - "size": 1122734, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:21.732Z", - "key": "img/platform-architecture.png" - }, - "play.png": { - "fileName": "play.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/play.png", - "size": 29086, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:38.000Z", - "key": "img/play.png" - }, - "plugin-marketplace.png": { - "fileName": "plugin-marketplace.png", - "originalPath": "assets/plugin-marketplace.png", - "s3Url": "https://static.crowdsourcingcures.org/img/plugin-marketplace.png", - "size": 335796, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:32:16.905Z", - "key": "img/plugin-marketplace.png" - }, - "positron-city.jpg": { - "fileName": "positron-city.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/positron-city.jpg", - "size": 331328, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:38.000Z", - "key": "img/positron-city.jpg" - }, - "predictor-search-cards.PNG": { - "fileName": "predictor-search-cards.PNG", - "originalPath": "assets/predictor-search-cards.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/predictor-search-cards.PNG", - "size": 395733, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:30.853Z", - "key": "img/predictor-search-cards.PNG" - }, - "predictor-search-no-background.PNG": { - "fileName": "predictor-search-no-background.PNG", - "originalPath": "assets/predictor-search-no-background.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/predictor-search-no-background.PNG", - "size": 286035, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:31.234Z", - "key": "img/predictor-search-no-background.PNG" - }, - "problems-in-research-and-treatment.png": { - "fileName": "problems-in-research-and-treatment.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/problems-in-research-and-treatment.png", - "size": 271611, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:39.000Z", - "key": "img/problems-in-research-and-treatment.png" - }, - "rare-diseases.jpg": { - "fileName": "rare-diseases.jpg", - "originalPath": "assets/rare-diseases.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/rare-diseases.jpg", - "size": 66113, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:43.271Z", - "key": "img/rare-diseases.jpg" - }, - "face_rating_button_100_depressed.png": { - "fileName": "face_rating_button_100_depressed.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/100/face_rating_button_100_depressed.png", - "size": 3430, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/rating/100/face_rating_button_100_depressed.png" - }, - "face_rating_button_100_ecstatic.png": { - "fileName": "face_rating_button_100_ecstatic.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/100/face_rating_button_100_ecstatic.png", - "size": 8175, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/rating/100/face_rating_button_100_ecstatic.png" - }, - "face_rating_button_100_happy.png": { - "fileName": "face_rating_button_100_happy.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/100/face_rating_button_100_happy.png", - "size": 8131, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/rating/100/face_rating_button_100_happy.png" - }, - "face_rating_button_100_ok.png": { - "fileName": "face_rating_button_100_ok.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/100/face_rating_button_100_ok.png", - "size": 8084, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/rating/100/face_rating_button_100_ok.png" - }, - "face_rating_button_100_sad.png": { - "fileName": "face_rating_button_100_sad.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/100/face_rating_button_100_sad.png", - "size": 7447, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/rating/100/face_rating_button_100_sad.png" - }, - "numeric_rating_button_100_1.png": { - "fileName": "numeric_rating_button_100_1.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/100/numeric_rating_button_100_1.png", - "size": 2574, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/rating/100/numeric_rating_button_100_1.png" - }, - "numeric_rating_button_100_2.png": { - "fileName": "numeric_rating_button_100_2.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/100/numeric_rating_button_100_2.png", - "size": 6265, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/rating/100/numeric_rating_button_100_2.png" - }, - "numeric_rating_button_100_3.png": { - "fileName": "numeric_rating_button_100_3.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/100/numeric_rating_button_100_3.png", - "size": 7943, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/rating/100/numeric_rating_button_100_3.png" - }, - "numeric_rating_button_100_4.png": { - "fileName": "numeric_rating_button_100_4.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/100/numeric_rating_button_100_4.png", - "size": 6453, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/rating/100/numeric_rating_button_100_4.png" - }, - "numeric_rating_button_100_5.png": { - "fileName": "numeric_rating_button_100_5.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/100/numeric_rating_button_100_5.png", - "size": 7113, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/rating/100/numeric_rating_button_100_5.png" - }, - "face_rating_button_256_depressed.png": { - "fileName": "face_rating_button_256_depressed.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/face_rating_button_256_depressed.png", - "size": 6652, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/rating/face_rating_button_256_depressed.png" - }, - "face_rating_button_256_ecstatic.png": { - "fileName": "face_rating_button_256_ecstatic.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/face_rating_button_256_ecstatic.png", - "size": 4138, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/rating/face_rating_button_256_ecstatic.png" - }, - "face_rating_button_256_happy.png": { - "fileName": "face_rating_button_256_happy.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/face_rating_button_256_happy.png", - "size": 4184, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/rating/face_rating_button_256_happy.png" - }, - "face_rating_button_256_ok.png": { - "fileName": "face_rating_button_256_ok.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/face_rating_button_256_ok.png", - "size": 3546, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/rating/face_rating_button_256_ok.png" - }, - "face_rating_button_256_sad.png": { - "fileName": "face_rating_button_256_sad.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/face_rating_button_256_sad.png", - "size": 4355, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/rating/face_rating_button_256_sad.png" - }, - "numeric_rating_button_256_1.png": { - "fileName": "numeric_rating_button_256_1.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/google-colors/numeric_rating_button_256_1.png", - "size": 3637, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/rating/google-colors/numeric_rating_button_256_1.png" - }, - "numeric_rating_button_256_2.png": { - "fileName": "numeric_rating_button_256_2.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/google-colors/numeric_rating_button_256_2.png", - "size": 4206, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/rating/google-colors/numeric_rating_button_256_2.png" - }, - "numeric_rating_button_256_3.png": { - "fileName": "numeric_rating_button_256_3.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/google-colors/numeric_rating_button_256_3.png", - "size": 4365, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/rating/google-colors/numeric_rating_button_256_3.png" - }, - "numeric_rating_button_256_4.png": { - "fileName": "numeric_rating_button_256_4.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/google-colors/numeric_rating_button_256_4.png", - "size": 4071, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/rating/google-colors/numeric_rating_button_256_4.png" - }, - "numeric_rating_button_256_5.png": { - "fileName": "numeric_rating_button_256_5.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/google-colors/numeric_rating_button_256_5.png", - "size": 3930, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/rating/google-colors/numeric_rating_button_256_5.png" - }, - "rating_face_depressed_bw.png": { - "fileName": "rating_face_depressed_bw.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/rating_face_depressed_bw.png", - "size": 3146, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/rating/rating_face_depressed_bw.png" - }, - "rating_face_ecstatic_bw.png": { - "fileName": "rating_face_ecstatic_bw.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/rating_face_ecstatic_bw.png", - "size": 2551, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/rating/rating_face_ecstatic_bw.png" - }, - "rating_face_happy_bw.png": { - "fileName": "rating_face_happy_bw.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/rating_face_happy_bw.png", - "size": 2512, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/rating/rating_face_happy_bw.png" - }, - "rating_face_ok_bw.png": { - "fileName": "rating_face_ok_bw.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/rating_face_ok_bw.png", - "size": 2075, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/rating/rating_face_ok_bw.png" - }, - "rating_face_sad_bw.png": { - "fileName": "rating_face_sad_bw.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/rating/rating_face_sad_bw.png", - "size": 2707, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/rating/rating_face_sad_bw.png" - }, - "real-time-decision-support-notifications-personalized-app-image.jpg": { - "fileName": "real-time-decision-support-notifications-personalized-app-image.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/real-time-decision-support-notifications-personalized-app-image.jpg", - "size": 128729, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:39.000Z", - "key": "img/real-time-decision-support-notifications-personalized-app-image.jpg" - }, - "real-world-evidence-in-efficacy-clinical-trials-vs-rcts.png": { - "fileName": "real-world-evidence-in-efficacy-clinical-trials-vs-rcts.png", - "originalPath": "assets/real-world-evidence-in-efficacy-clinical-trials-vs-rcts.png", - "s3Url": "https://static.crowdsourcingcures.org/img/real-world-evidence-in-efficacy-clinical-trials-vs-rcts.png", - "size": 309530, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:42.667Z", - "key": "img/real-world-evidence-in-efficacy-clinical-trials-vs-rcts.png" - }, - "real-world-evidence-in-efficacy-clinical-trials-vs-rcts.svg": { - "fileName": "real-world-evidence-in-efficacy-clinical-trials-vs-rcts.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/real-world-evidence-in-efficacy-clinical-trials-vs-rcts.svg", - "size": 140250, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:40.000Z", - "key": "img/real-world-evidence-in-efficacy-clinical-trials-vs-rcts.svg" - }, - "right_to_trial_act_image.jpg": { - "fileName": "right_to_trial_act_image.jpg", - "originalPath": "right_to_trial_act_image.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/right_to_trial_act_image.jpg", - "size": 291672, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:45.082Z", - "key": "img/right_to_trial_act_image.jpg" - }, - "robot-scientists.jpg": { - "fileName": "robot-scientists.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robot-scientists.jpg", - "size": 268148, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:40.000Z", - "key": "img/robot-scientists.jpg" - }, - "bottom.gif": { - "fileName": "bottom.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/bottom.gif", - "size": 34945, - "mimeType": "image/gif", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/bottom.gif" - }, - "cute_robot_happy_transparent.png": { - "fileName": "cute_robot_happy_transparent.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/cute_robot_happy_transparent.png", - "size": 10547, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/cute_robot_happy_transparent.png" - }, - "quantimodo-robot-brain.svg": { - "fileName": "quantimodo-robot-brain.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/quantimodo-robot-brain.svg", - "size": 28572, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:11.000Z", - "key": "img/robots/quantimodo-robot-brain.svg" - }, - "quantimodo-robot-happy.png": { - "fileName": "quantimodo-robot-happy.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/quantimodo-robot-happy.png", - "size": 49959, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/robots/quantimodo-robot-happy.png" - }, - "quantimodo-robot-happy.svg": { - "fileName": "quantimodo-robot-happy.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/quantimodo-robot-happy.svg", - "size": 8765, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/quantimodo-robot-happy.svg" - }, - "quantimodo-robot-puzzled-213-300.png": { - "fileName": "quantimodo-robot-puzzled-213-300.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/quantimodo-robot-puzzled-213-300.png", - "size": 7300, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/quantimodo-robot-puzzled-213-300.png" - }, - "quantimodo-robot-puzzled-white-213-300.png": { - "fileName": "quantimodo-robot-puzzled-white-213-300.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/quantimodo-robot-puzzled-white-213-300.png", - "size": 15787, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/quantimodo-robot-puzzled-white-213-300.png" - }, - "quantimodo-robot-puzzled-white.svg": { - "fileName": "quantimodo-robot-puzzled-white.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/quantimodo-robot-puzzled-white.svg", - "size": 10016, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/quantimodo-robot-puzzled-white.svg" - }, - "quantimodo-robot-puzzled.svg": { - "fileName": "quantimodo-robot-puzzled.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/quantimodo-robot-puzzled.svg", - "size": 9979, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/quantimodo-robot-puzzled.svg" - }, - "quantimodo-robot-waving-700-700.png": { - "fileName": "quantimodo-robot-waving-700-700.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/quantimodo-robot-waving-700-700.png", - "size": 12659, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/quantimodo-robot-waving-700-700.png" - }, - "quantimodo-robot-waving.svg": { - "fileName": "quantimodo-robot-waving.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/quantimodo-robot-waving.svg", - "size": 8660, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/quantimodo-robot-waving.svg" - }, - "robot-head-yellow-circle.png": { - "fileName": "robot-head-yellow-circle.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/robot-head-yellow-circle.png", - "size": 4262, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/robot-head-yellow-circle.png" - }, - "robot-head.png": { - "fileName": "robot-head.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/robot-head.png", - "size": 22201, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/robot-head.png" - }, - "robot-head.svg": { - "fileName": "robot-head.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/robot-head.svg", - "size": 5135, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/robot-head.svg" - }, - "robot-waving-700-700.png": { - "fileName": "robot-waving-700-700.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/robot-waving-700-700.png", - "size": 10943, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/robots/robot-waving-700-700.png" - }, - "robot-waving.svg": { - "fileName": "robot-waving.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/robot-waving.svg", - "size": 6924, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/robot-waving.svg" - }, - "top.gif": { - "fileName": "top.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/robots/top.gif", - "size": 50320, - "mimeType": "image/gif", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/robots/top.gif" - }, - "README.md": { - "fileName": "README.md", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/README.md", - "size": 209, - "mimeType": "text/markdown", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/screenshots/README.md" - }, - "all-ionic-quantimodo-screenshots.png": { - "fileName": "all-ionic-quantimodo-screenshots.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/all-ionic-quantimodo-screenshots.png", - "size": 269705, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:17.000Z", - "key": "img/screenshots/all-ionic-quantimodo-screenshots.png" - }, - "bar-chart-screenshot.jpg": { - "fileName": "bar-chart-screenshot.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/bar-chart-screenshot.jpg", - "size": 330280, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:17.000Z", - "key": "img/screenshots/bar-chart-screenshot.jpg" - }, - "collect-import-analyze-screenshot-ionic-qm-text.png": { - "fileName": "collect-import-analyze-screenshot-ionic-qm-text.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/collect-import-analyze-screenshot-ionic-qm-text.png", - "size": 256671, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/screenshots/collect-import-analyze-screenshot-ionic-qm-text.png" - }, - "duration-of-action.png": { - "fileName": "duration-of-action.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/duration-of-action.png", - "size": 173545, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/screenshots/duration-of-action.png" - }, - "gluten-study.png": { - "fileName": "gluten-study.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/gluten-study.png", - "size": 113623, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/screenshots/gluten-study.png" - }, - "history-screenshot-2.png": { - "fileName": "history-screenshot-2.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/history-screenshot-2.png", - "size": 543299, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:50.000Z", - "key": "img/screenshots/history-screenshot-2.png" - }, - "history-screenshot-3.png": { - "fileName": "history-screenshot-3.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/history-screenshot-3.png", - "size": 439127, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:20.000Z", - "key": "img/screenshots/history-screenshot-3.png" - }, - "history-screenshot.jpg": { - "fileName": "history-screenshot.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/history-screenshot.jpg", - "size": 465462, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:25.000Z", - "key": "img/screenshots/history-screenshot.jpg" - }, - "history_page.png": { - "fileName": "history_page.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/history_page.png", - "size": 37988, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/screenshots/history_page.png" - }, - "import-data-Screenshot.jpg": { - "fileName": "import-data-Screenshot.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/import-data-Screenshot.jpg", - "size": 411089, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:22.000Z", - "key": "img/screenshots/import-data-Screenshot.jpg" - }, - "ioinic-import-data-screenshot-bg.png": { - "fileName": "ioinic-import-data-screenshot-bg.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/ioinic-import-data-screenshot-bg.png", - "size": 622350, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:28.000Z", - "key": "img/screenshots/ioinic-import-data-screenshot-bg.png" - }, - "ioinic-import-data-screenshot.png": { - "fileName": "ioinic-import-data-screenshot.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/ioinic-import-data-screenshot.png", - "size": 225372, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/screenshots/ioinic-import-data-screenshot.png" - }, - "ionic-inbox-screenshot-bg.png": { - "fileName": "ionic-inbox-screenshot-bg.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/ionic-inbox-screenshot-bg.png", - "size": 462070, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:22.000Z", - "key": "img/screenshots/ionic-inbox-screenshot-bg.png" - }, - "ionic-inbox-screenshot-cropped.png": { - "fileName": "ionic-inbox-screenshot-cropped.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/ionic-inbox-screenshot-cropped.png", - "size": 101009, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/screenshots/ionic-inbox-screenshot-cropped.png" - }, - "ionic-inbox-screenshot.png": { - "fileName": "ionic-inbox-screenshot.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/ionic-inbox-screenshot.png", - "size": 179825, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/screenshots/ionic-inbox-screenshot.png" - }, - "ionic-measurement-history-screenshot.png": { - "fileName": "ionic-measurement-history-screenshot.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/ionic-measurement-history-screenshot.png", - "size": 199390, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:16.000Z", - "key": "img/screenshots/ionic-measurement-history-screenshot.png" - }, - "ionic-strudy-screenshot.png": { - "fileName": "ionic-strudy-screenshot.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/ionic-strudy-screenshot.png", - "size": 507457, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:23.000Z", - "key": "img/screenshots/ionic-strudy-screenshot.png" - }, - "ionic-study-creation-screenshot.png": { - "fileName": "ionic-study-creation-screenshot.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/ionic-study-creation-screenshot.png", - "size": 857729, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:51.000Z", - "key": "img/screenshots/ionic-study-creation-screenshot.png" - }, - "ionic-variables-screenshot.png": { - "fileName": "ionic-variables-screenshot.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/ionic-variables-screenshot.png", - "size": 215238, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/screenshots/ionic-variables-screenshot.png" - }, - "mood_note.png": { - "fileName": "mood_note.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/mood_note.png", - "size": 50406, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/screenshots/mood_note.png" - }, - "negative_predictors.png": { - "fileName": "negative_predictors.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/negative_predictors.png", - "size": 30183, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/screenshots/negative_predictors.png" - }, - "notifications-screenshot.png": { - "fileName": "notifications-screenshot.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/notifications-screenshot.png", - "size": 114069, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/screenshots/notifications-screenshot.png" - }, - "positive_predictors.png": { - "fileName": "positive_predictors.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/old/positive_predictors.png", - "size": 27918, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/screenshots/old/positive_predictors.png" - }, - "track_foods.png": { - "fileName": "track_foods.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/old/track_foods.png", - "size": 28047, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/screenshots/old/track_foods.png" - }, - "track_moods.png": { - "fileName": "track_moods.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/old/track_moods.png", - "size": 48072, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/screenshots/old/track_moods.png" - }, - "track_symptoms.png": { - "fileName": "track_symptoms.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/old/track_symptoms.png", - "size": 30166, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/screenshots/old/track_symptoms.png" - }, - "track_treatments.png": { - "fileName": "track_treatments.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/old/track_treatments.png", - "size": 28470, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/screenshots/old/track_treatments.png" - }, - "onset-delay-lagging.png": { - "fileName": "onset-delay-lagging.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/onset-delay-lagging.png", - "size": 165963, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/screenshots/onset-delay-lagging.png" - }, - "predictors-screenshot.jpg": { - "fileName": "predictors-screenshot.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/predictors-screenshot.jpg", - "size": 390226, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:18.000Z", - "key": "img/screenshots/predictors-screenshot.jpg" - }, - "record-inbox-import-connectors-analyze-study.png": { - "fileName": "record-inbox-import-connectors-analyze-study.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/record-inbox-import-connectors-analyze-study.png", - "size": 269705, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:16.000Z", - "key": "img/screenshots/record-inbox-import-connectors-analyze-study.png" - }, - "reminder-inbox-screenshot-bg.png": { - "fileName": "reminder-inbox-screenshot-bg.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/reminder-inbox-screenshot-bg.png", - "size": 462070, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:26.000Z", - "key": "img/screenshots/reminder-inbox-screenshot-bg.png" - }, - "reminder-inbox-screenshot-no-text.png": { - "fileName": "reminder-inbox-screenshot-no-text.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/reminder-inbox-screenshot-no-text.png", - "size": 565486, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:26.000Z", - "key": "img/screenshots/reminder-inbox-screenshot-no-text.png" - }, - "reminder-inbox-screenshot.jpg": { - "fileName": "reminder-inbox-screenshot.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/screenshots/reminder-inbox-screenshot.jpg", - "size": 519143, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:17:04.000Z", - "key": "img/screenshots/reminder-inbox-screenshot.jpg" - }, - "Email.png": { - "fileName": "Email.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/Email.png", - "size": 799, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/Email.png" - }, - "Facebook.png": { - "fileName": "Facebook.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/Facebook.png", - "size": 687, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/Facebook.png" - }, - "Google+.png": { - "fileName": "Google+.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/Google+.png", - "size": 1032, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/Google+.png" - }, - "LinkedIn.png": { - "fileName": "LinkedIn.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/LinkedIn.png", - "size": 736, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/LinkedIn.png" - }, - "Pinboard.png": { - "fileName": "Pinboard.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/Pinboard.png", - "size": 799, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/Pinboard.png" - }, - "Pinterest.png": { - "fileName": "Pinterest.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/Pinterest.png", - "size": 1053, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/Pinterest.png" - }, - "Pocket.png": { - "fileName": "Pocket.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/Pocket.png", - "size": 809, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/Pocket.png" - }, - "Reddit.png": { - "fileName": "Reddit.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/Reddit.png", - "size": 1262, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/Reddit.png" - }, - "Tumblr.png": { - "fileName": "Tumblr.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/Tumblr.png", - "size": 724, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/Tumblr.png" - }, - "Twitter.png": { - "fileName": "Twitter.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/Twitter.png", - "size": 915, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/Twitter.png" - }, - "Wordpress.png": { - "fileName": "Wordpress.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/black-circle-background/Wordpress.png", - "size": 1070, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/black-circle-background/Wordpress.png" - }, - "link.jpg": { - "fileName": "link.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/color-round/link.jpg", - "size": 20287, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/sharing/color-round/link.jpg" - }, - "email.png": { - "fileName": "email.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/email.png", - "size": 417, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/sharing/email.png" - }, - "facebook.png": { - "fileName": "facebook.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/facebook.png", - "size": 324, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/sharing/facebook.png" - }, - "twitter.png": { - "fileName": "twitter.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sharing/twitter.png", - "size": 630, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/sharing/twitter.png" - }, - "btn_google_signin_dark_disabled_web.png": { - "fileName": "btn_google_signin_dark_disabled_web.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_dark_disabled_web.png", - "size": 1311, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_dark_disabled_web.png" - }, - "btn_google_signin_dark_focus_web.png": { - "fileName": "btn_google_signin_dark_focus_web.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_dark_focus_web.png", - "size": 2884, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_dark_focus_web.png" - }, - "btn_google_signin_dark_normal_web.png": { - "fileName": "btn_google_signin_dark_normal_web.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_dark_normal_web.png", - "size": 2626, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_dark_normal_web.png" - }, - "btn_google_signin_dark_pressed_web.png": { - "fileName": "btn_google_signin_dark_pressed_web.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_dark_pressed_web.png", - "size": 2882, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_dark_pressed_web.png" - }, - "btn_google_signin_light_disabled_web.png": { - "fileName": "btn_google_signin_light_disabled_web.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_light_disabled_web.png", - "size": 1311, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_light_disabled_web.png" - }, - "btn_google_signin_light_focus_web.png": { - "fileName": "btn_google_signin_light_focus_web.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_light_focus_web.png", - "size": 2945, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_light_focus_web.png" - }, - "btn_google_signin_light_normal_web.png": { - "fileName": "btn_google_signin_light_normal_web.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_light_normal_web.png", - "size": 2660, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_light_normal_web.png" - }, - "btn_google_signin_light_pressed_web.png": { - "fileName": "btn_google_signin_light_pressed_web.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_light_pressed_web.png", - "size": 2767, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/signin-assets/google_signin_buttons/web/1x/btn_google_signin_light_pressed_web.png" - }, - "btn_google_signin_dark_disabled_web@2x.png": { - "fileName": "btn_google_signin_dark_disabled_web@2x.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_dark_disabled_web@2x.png", - "size": 2392, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_dark_disabled_web@2x.png" - }, - "btn_google_signin_dark_focus_web@2x.png": { - "fileName": "btn_google_signin_dark_focus_web@2x.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_dark_focus_web@2x.png", - "size": 5570, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:17.000Z", - "key": "img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_dark_focus_web@2x.png" - }, - "btn_google_signin_dark_normal_web@2x.png": { - "fileName": "btn_google_signin_dark_normal_web@2x.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_dark_normal_web@2x.png", - "size": 4891, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_dark_normal_web@2x.png" - }, - "btn_google_signin_dark_pressed_web@2x.png": { - "fileName": "btn_google_signin_dark_pressed_web@2x.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_dark_pressed_web@2x.png", - "size": 5372, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_dark_pressed_web@2x.png" - }, - "btn_google_signin_light_disabled_web@2x.png": { - "fileName": "btn_google_signin_light_disabled_web@2x.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_light_disabled_web@2x.png", - "size": 2392, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_light_disabled_web@2x.png" - }, - "btn_google_signin_light_focus_web@2x.png": { - "fileName": "btn_google_signin_light_focus_web@2x.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_light_focus_web@2x.png", - "size": 5599, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_light_focus_web@2x.png" - }, - "btn_google_signin_light_normal_web@2x.png": { - "fileName": "btn_google_signin_light_normal_web@2x.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_light_normal_web@2x.png", - "size": 4859, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_light_normal_web@2x.png" - }, - "btn_google_signin_light_pressed_web@2x.png": { - "fileName": "btn_google_signin_light_pressed_web@2x.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_light_pressed_web@2x.png", - "size": 5120, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/signin-assets/google_signin_buttons/web/2x/btn_google_signin_light_pressed_web@2x.png" - }, - "simplified-platform-architecture-diagram.png": { - "fileName": "simplified-platform-architecture-diagram.png", - "originalPath": "assets/simplified-platform-architecture-diagram.png", - "s3Url": "https://static.crowdsourcingcures.org/img/simplified-platform-architecture-diagram.png", - "size": 410389, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:36.467Z", - "key": "img/simplified-platform-architecture-diagram.png" - }, - "simpsons-living-room.webp": { - "fileName": "simpsons-living-room.webp", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/simpsons-living-room.webp", - "size": 35394, - "mimeType": "image/webp", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/simpsons-living-room.webp" - }, - "skull.svg": { - "fileName": "skull.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/skull.svg", - "size": 1226, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:40.000Z", - "key": "img/skull.svg" - }, - "Determine Onset Delay, Time to Peak Effect, Duration of Action, Net Effect, and Reverse Net Effect.png": { - "fileName": "Determine Onset Delay, Time to Peak Effect, Duration of Action, Net Effect, and Reverse Net Effect.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/Determine Onset Delay, Time to Peak Effect, Duration of Action, Net Effect, and Reverse Net Effect.png", - "size": 174651, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/slides/Determine Onset Delay, Time to Peak Effect, Duration of Action, Net Effect, and Reverse Net Effect.png" - }, - "Import.mp4": { - "fileName": "Import.mp4", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/Import.mp4", - "size": 1784376, - "mimeType": "video/mp4", - "uploadDate": "2024-03-07T06:13:37.000Z", - "key": "img/slides/Import.mp4" - }, - "List of Medications.pdf": { - "fileName": "List of Medications.pdf", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/List of Medications.pdf", - "size": 43136, - "mimeType": "application/pdf", - "uploadDate": "2024-02-27T06:40:06.000Z", - "key": "img/slides/List of Medications.pdf" - }, - "ai-drug-discovery.jpg": { - "fileName": "ai-drug-discovery.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/ai-drug-discovery.jpg", - "size": 99532, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/ai-drug-discovery.jpg" - }, - "alpha-fold-ribbon.gif": { - "fileName": "alpha-fold-ribbon.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/alpha-fold-ribbon.gif", - "size": 4042347, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:06.000Z", - "key": "img/slides/alpha-fold-ribbon.gif" - }, - "analyzing-data.gif": { - "fileName": "analyzing-data.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/analyzing-data.gif", - "size": 2637548, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:03.000Z", - "key": "img/slides/analyzing-data.gif" - }, - "arthritis-psoriasis.png": { - "fileName": "arthritis-psoriasis.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/arthritis-psoriasis.png", - "size": 176738, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/slides/arthritis-psoriasis.png" - }, - "autonomous-agent.gif": { - "fileName": "autonomous-agent.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/autonomous-agent.gif", - "size": 18718634, - "mimeType": "image/gif", - "uploadDate": "2024-02-26T06:05:26.000Z", - "key": "img/slides/autonomous-agent.gif" - }, - "autonomous-amazon.gif": { - "fileName": "autonomous-amazon.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/autonomous-amazon.gif", - "size": 7686708, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:07.000Z", - "key": "img/slides/autonomous-amazon.gif" - }, - "autonomous-cvs.gif": { - "fileName": "autonomous-cvs.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/autonomous-cvs.gif", - "size": 6707506, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:06.000Z", - "key": "img/slides/autonomous-cvs.gif" - }, - "autonomous-data-collection.gif": { - "fileName": "autonomous-data-collection.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/autonomous-data-collection.gif", - "size": 15844313, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:07.000Z", - "key": "img/slides/autonomous-data-collection.gif" - }, - "autonomous-lab-order.gif": { - "fileName": "autonomous-lab-order.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/autonomous-lab-order.gif", - "size": 9196757, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/autonomous-lab-order.gif" - }, - "autonomous-quest.gif": { - "fileName": "autonomous-quest.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/autonomous-quest.gif", - "size": 6015756, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:07.000Z", - "key": "img/slides/autonomous-quest.gif" - }, - "autonomous-shipt.gif": { - "fileName": "autonomous-shipt.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/autonomous-shipt.gif", - "size": 1508232, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:00.000Z", - "key": "img/slides/autonomous-shipt.gif" - }, - "autonomous-study-join.gif": { - "fileName": "autonomous-study-join.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/autonomous-study-join.gif", - "size": 3119624, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:05.000Z", - "key": "img/slides/autonomous-study-join.gif" - }, - "autonomous-study-search.gif": { - "fileName": "autonomous-study-search.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/autonomous-study-search.gif", - "size": 5453708, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:07.000Z", - "key": "img/slides/autonomous-study-search.gif" - }, - "black-box-model-animation.gif": { - "fileName": "black-box-model-animation.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/black-box-model-animation.gif", - "size": 942788, - "mimeType": "image/gif", - "uploadDate": "2024-03-07T06:13:34.000Z", - "key": "img/slides/black-box-model-animation.gif" - }, - "bombing-gaza-reverse.gif": { - "fileName": "bombing-gaza-reverse.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/bombing-gaza-reverse.gif", - "size": 2151556, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:01.000Z", - "key": "img/slides/bombing-gaza-reverse.gif" - }, - "bombing-gaza.gif": { - "fileName": "bombing-gaza.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/bombing-gaza.gif", - "size": 2158245, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:02.000Z", - "key": "img/slides/bombing-gaza.gif" - }, - "bombing-reverse.gif": { - "fileName": "bombing-reverse.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/bombing-reverse.gif", - "size": 2153248, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:02.000Z", - "key": "img/slides/bombing-reverse.gif" - }, - "brak-stinger.mp4": { - "fileName": "brak-stinger.mp4", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/brak-stinger.mp4", - "size": 6143042, - "mimeType": "video/mp4", - "uploadDate": "2024-02-27T02:02:07.000Z", - "key": "img/slides/brak-stinger.mp4" - }, - "causal-inference-2.png": { - "fileName": "causal-inference-2.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/causal-inference-2.png", - "size": 168901, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/slides/causal-inference-2.png" - }, - "causal-inference.png": { - "fileName": "causal-inference.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/causal-inference.png", - "size": 306178, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/slides/causal-inference.png" - }, - "chad-robot-brain.jpg": { - "fileName": "chad-robot-brain.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/chad-robot-brain.jpg", - "size": 129452, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/chad-robot-brain.jpg" - }, - "chemicals.png": { - "fileName": "chemicals.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/chemicals.png", - "size": 438018, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:21.000Z", - "key": "img/slides/chemicals.png" - }, - "clinipedia-inflammatory.gif": { - "fileName": "clinipedia-inflammatory.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/clinipedia-inflammatory.gif", - "size": 13377103, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/clinipedia-inflammatory.gif" - }, - "clinipedia-study.gif": { - "fileName": "clinipedia-study.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/clinipedia-study.gif", - "size": 5013443, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:06.000Z", - "key": "img/slides/clinipedia-study.gif" - }, - "clinipedia-study.gif.gif": { - "fileName": "clinipedia-study.gif.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/clinipedia-study.gif.gif", - "size": 6597463, - "mimeType": "image/gif", - "uploadDate": "2024-02-24T01:32:27.000Z", - "key": "img/slides/clinipedia-study.gif.gif" - }, - "clinipedia.gif": { - "fileName": "clinipedia.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/clinipedia.gif", - "size": 18367489, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/clinipedia.gif" - }, - "clinipedia.png": { - "fileName": "clinipedia.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/clinipedia.png", - "size": 374428, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:18.000Z", - "key": "img/slides/clinipedia.png" - }, - "cloo-confused-girl.gif": { - "fileName": "cloo-confused-girl.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/cloo-confused-girl.gif", - "size": 349646, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:01:51.000Z", - "key": "img/slides/cloo-confused-girl.gif" - }, - "connectors.png": { - "fileName": "connectors.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/connectors.png", - "size": 510625, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:23.000Z", - "key": "img/slides/connectors.png" - }, - "correlated-symptoms.png": { - "fileName": "correlated-symptoms.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/correlated-symptoms.png", - "size": 539801, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:27.000Z", - "key": "img/slides/correlated-symptoms.png" - }, - "correlates-of-disease-incidence-labeled.png": { - "fileName": "correlates-of-disease-incidence-labeled.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/correlates-of-disease-incidence-labeled.png", - "size": 386640, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:20.000Z", - "key": "img/slides/correlates-of-disease-incidence-labeled.png" - }, - "correlates-of-disease-incidence.png": { - "fileName": "correlates-of-disease-incidence.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/correlates-of-disease-incidence.png", - "size": 358603, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:18.000Z", - "key": "img/slides/correlates-of-disease-incidence.png" - }, - "create-study.gif": { - "fileName": "create-study.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/create-study.gif", - "size": 5867329, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/create-study.gif" - }, - "dartboard.png": { - "fileName": "dartboard.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/dartboard.png", - "size": 1779561, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:37.000Z", - "key": "img/slides/dartboard.png" - }, - "dashboards.png": { - "fileName": "dashboards.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/dashboards.png", - "size": 401413, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:21.000Z", - "key": "img/slides/dashboards.png" - }, - "data-analysis.png": { - "fileName": "data-analysis.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/data-analysis.png", - "size": 190824, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/slides/data-analysis.png" - }, - "data-collection-apps.png": { - "fileName": "data-collection-apps.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/data-collection-apps.png", - "size": 360634, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:50.000Z", - "key": "img/slides/data-collection-apps.png" - }, - "decay.gif": { - "fileName": "decay.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/decay.gif", - "size": 744838, - "mimeType": "image/gif", - "uploadDate": "2024-03-07T06:13:32.000Z", - "key": "img/slides/decay.gif" - }, - "decision-support.png": { - "fileName": "decision-support.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/decision-support.png", - "size": 711156, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:29.000Z", - "key": "img/slides/decision-support.png" - }, - "desktop.ini": { - "fileName": "desktop.ini", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/desktop.ini", - "size": 86, - "mimeType": "text/plain", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/slides/desktop.ini" - }, - "digital-exhaust.png": { - "fileName": "digital-exhaust.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/digital-exhaust.png", - "size": 486212, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:23.000Z", - "key": "img/slides/digital-exhaust.png" - }, - "digital-exhaust.svg": { - "fileName": "digital-exhaust.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/digital-exhaust.svg", - "size": 49160, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/slides/digital-exhaust.svg" - }, - "digital-twin-safe-cover.png": { - "fileName": "digital-twin-safe-cover.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/digital-twin-safe-cover.png", - "size": 371143, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:24.000Z", - "key": "img/slides/digital-twin-safe-cover.png" - }, - "digital-twin-safe.png": { - "fileName": "digital-twin-safe.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/digital-twin-safe.png", - "size": 2194084, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:39.000Z", - "key": "img/slides/digital-twin-safe.png" - }, - "diseases.png": { - "fileName": "diseases.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/diseases.png", - "size": 226492, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/slides/diseases.png" - }, - "duplication-of-effort.png": { - "fileName": "duplication-of-effort.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/duplication-of-effort.png", - "size": 79939, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/duplication-of-effort.png" - }, - "duration-of-action.gif": { - "fileName": "duration-of-action.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/duration-of-action.gif", - "size": 909825, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:01:59.000Z", - "key": "img/slides/duration-of-action.gif" - }, - "exclusion.png": { - "fileName": "exclusion.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/exclusion.png", - "size": 84133, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/exclusion.png" - }, - "factors.png": { - "fileName": "factors.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/factors.png", - "size": 219332, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/slides/factors.png" - }, - "fast-research.png": { - "fileName": "fast-research.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/fast-research.png", - "size": 90166, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/fast-research.png" - }, - "fdai-act-petition-qrcode.png": { - "fileName": "fdai-act-petition-qrcode.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/fdai-act-petition-qrcode.png", - "size": 44531, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/slides/fdai-act-petition-qrcode.png" - }, - "fdai-earth-qr-code.png": { - "fileName": "fdai-earth-qr-code.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/fdai-earth-qr-code.png", - "size": 472182, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:25.000Z", - "key": "img/slides/fdai-earth-qr-code.png" - }, - "fdai-framework.png": { - "fileName": "fdai-framework.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/fdai-framework.png", - "size": 368631, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:19.000Z", - "key": "img/slides/fdai-framework.png" - }, - "fdai-github.gif": { - "fileName": "fdai-github.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/fdai-github.gif", - "size": 9921462, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:07.000Z", - "key": "img/slides/fdai-github.gif" - }, - "fdai-github.png": { - "fileName": "fdai-github.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/fdai-github.png", - "size": 353732, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:19.000Z", - "key": "img/slides/fdai-github.png" - }, - "fdai-logo.png": { - "fileName": "fdai-logo.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/fdai-logo.png", - "size": 35125, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/slides/fdai-logo.png" - }, - "fdai-splash.png": { - "fileName": "fdai-splash.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/fdai-splash.png", - "size": 1909963, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:37.000Z", - "key": "img/slides/fdai-splash.png" - }, - "food-industrial-complex.png": { - "fileName": "food-industrial-complex.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/food-industrial-complex.png", - "size": 775687, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:31.000Z", - "key": "img/slides/food-industrial-complex.png" - }, - "frequency-analysis.gif": { - "fileName": "frequency-analysis.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/frequency-analysis.gif", - "size": 8254020, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/frequency-analysis.gif" - }, - "github.png": { - "fileName": "github.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/github.png", - "size": 88723, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/github.png" - }, - "grocery-shopping.gif": { - "fileName": "grocery-shopping.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/grocery-shopping.gif", - "size": 4302124, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:06.000Z", - "key": "img/slides/grocery-shopping.gif" - }, - "healome.png": { - "fileName": "healome.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/healome.png", - "size": 267106, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:16.000Z", - "key": "img/slides/healome.png" - }, - "history.gif": { - "fileName": "history.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/history.gif", - "size": 2957520, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:04.000Z", - "key": "img/slides/history.gif" - }, - "how-it-works.png": { - "fileName": "how-it-works.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/how-it-works.png", - "size": 538043, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:28.000Z", - "key": "img/slides/how-it-works.png" - }, - "import.mp4": { - "fileName": "import.mp4", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/import.mp4", - "size": 1784376, - "mimeType": "video/mp4", - "uploadDate": "2024-02-27T02:02:00.000Z", - "key": "img/slides/import.mp4" - }, - "index.html": { - "fileName": "index.html", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/index.html", - "size": 3861034, - "mimeType": "text/html", - "uploadDate": "2024-02-27T06:40:27.000Z", - "key": "img/slides/index.html" - }, - "jeopardy.mp3": { - "fileName": "jeopardy.mp3", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/jeopardy.mp3", - "size": 796839, - "mimeType": "audio/mpeg", - "uploadDate": "2024-02-27T02:01:59.000Z", - "key": "img/slides/jeopardy.mp3" - }, - "johnny-5-need-input.gif": { - "fileName": "johnny-5-need-input.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/johnny-5-need-input.gif", - "size": 5809379, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/johnny-5-need-input.gif" - }, - "leaky-gut.png": { - "fileName": "leaky-gut.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/leaky-gut.png", - "size": 301098, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:16.000Z", - "key": "img/slides/leaky-gut.png" - }, - "lectins-arthritis.png": { - "fileName": "lectins-arthritis.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/lectins-arthritis.png", - "size": 167614, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/slides/lectins-arthritis.png" - }, - "lectins-mood.png": { - "fileName": "lectins-mood.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/lectins-mood.png", - "size": 167411, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/slides/lectins-mood.png" - }, - "lectins-psoriasis.png": { - "fileName": "lectins-psoriasis.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/lectins-psoriasis.png", - "size": 163193, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:17.000Z", - "key": "img/slides/lectins-psoriasis.png" - }, - "lectins-studies.png": { - "fileName": "lectins-studies.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/lectins-studies.png", - "size": 517859, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:24.000Z", - "key": "img/slides/lectins-studies.png" - }, - "lectins.jpeg": { - "fileName": "lectins.jpeg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/lectins.jpeg", - "size": 516826, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:25.000Z", - "key": "img/slides/lectins.jpeg" - }, - "low-lectin-food.jpg": { - "fileName": "low-lectin-food.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/low-lectin-food.jpg", - "size": 74709, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/low-lectin-food.jpg" - }, - "mood-arthritis.png": { - "fileName": "mood-arthritis.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/mood-arthritis.png", - "size": 170832, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/slides/mood-arthritis.png" - }, - "need-input.png": { - "fileName": "need-input.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/need-input.png", - "size": 558811, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:26.000Z", - "key": "img/slides/need-input.png" - }, - "negative-results-not-published.png": { - "fileName": "negative-results-not-published.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/negative-results-not-published.png", - "size": 157399, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/slides/negative-results-not-published.png" - }, - "negative-results-trash.png": { - "fileName": "negative-results-trash.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/negative-results-trash.png", - "size": 99264, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/negative-results-trash.png" - }, - "no-progress.png": { - "fileName": "no-progress.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/no-progress.png", - "size": 321451, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:17.000Z", - "key": "img/slides/no-progress.png" - }, - "onset-delay.png": { - "fileName": "onset-delay.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/onset-delay.png", - "size": 285114, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:16.000Z", - "key": "img/slides/onset-delay.png" - }, - "outcome-label.png": { - "fileName": "outcome-label.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/outcome-label.png", - "size": 160456, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/slides/outcome-label.png" - }, - "outcome-labels.png": { - "fileName": "outcome-labels.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/outcome-labels.png", - "size": 580016, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:26.000Z", - "key": "img/slides/outcome-labels.png" - }, - "platform-detailed.png": { - "fileName": "platform-detailed.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/platform-detailed.png", - "size": 343515, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:20.000Z", - "key": "img/slides/platform-detailed.png" - }, - "platform-diagram.png": { - "fileName": "platform-diagram.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/platform-diagram.png", - "size": 669369, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:29.000Z", - "key": "img/slides/platform-diagram.png" - }, - "positive-sum.png": { - "fileName": "positive-sum.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/positive-sum.png", - "size": 317917, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:16.000Z", - "key": "img/slides/positive-sum.png" - }, - "power-of-robots.jpg": { - "fileName": "power-of-robots.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/power-of-robots.jpg", - "size": 228095, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/slides/power-of-robots.jpg" - }, - "probiotic-trial.png": { - "fileName": "probiotic-trial.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/probiotic-trial.png", - "size": 279787, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:20.000Z", - "key": "img/slides/probiotic-trial.png" - }, - "progress.png": { - "fileName": "progress.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/progress.png", - "size": 252192, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:19.000Z", - "key": "img/slides/progress.png" - }, - "psoriasis-arthritis.png": { - "fileName": "psoriasis-arthritis.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/psoriasis-arthritis.png", - "size": 175644, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/slides/psoriasis-arthritis.png" - }, - "reinforcement-learning.png": { - "fileName": "reinforcement-learning.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/reinforcement-learning.png", - "size": 556227, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:27.000Z", - "key": "img/slides/reinforcement-learning.png" - }, - "reminder-inbox.mp4": { - "fileName": "reminder-inbox.mp4", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/reminder-inbox.mp4", - "size": 2694676, - "mimeType": "video/mp4", - "uploadDate": "2024-02-27T02:02:03.000Z", - "key": "img/slides/reminder-inbox.mp4" - }, - "robot-chad.png": { - "fileName": "robot-chad.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/robot-chad.png", - "size": 129452, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/robot-chad.png" - }, - "robot-drugs.gif": { - "fileName": "robot-drugs.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/robot-drugs.gif", - "size": 14871052, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/robot-drugs.gif" - }, - "root-cause-analysis-2x.gif": { - "fileName": "root-cause-analysis-2x.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/root-cause-analysis-2x.gif", - "size": 119083349, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/root-cause-analysis-2x.gif" - }, - "root-cause-analysis-4x.gif": { - "fileName": "root-cause-analysis-4x.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/root-cause-analysis-4x.gif", - "size": 33058102, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/root-cause-analysis-4x.gif" - }, - "root-cause-analysis.gif": { - "fileName": "root-cause-analysis.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/root-cause-analysis.gif", - "size": 244022716, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/root-cause-analysis.gif" - }, - "sdk.png": { - "fileName": "sdk.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/sdk.png", - "size": 326218, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:18.000Z", - "key": "img/slides/sdk.png" - }, - "simpsons-living-room.png": { - "fileName": "simpsons-living-room.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/simpsons-living-room.png", - "size": 402071, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:21.000Z", - "key": "img/slides/simpsons-living-room.png" - }, - "slaughterbots.gif": { - "fileName": "slaughterbots.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/slaughterbots.gif", - "size": 3752227, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:05.000Z", - "key": "img/slides/slaughterbots.gif" - }, - "slow-fast-research.png": { - "fileName": "slow-fast-research.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/slow-fast-research.png", - "size": 122695, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:13.000Z", - "key": "img/slides/slow-fast-research.png" - }, - "slow-research-fast-research.png": { - "fileName": "slow-research-fast-research.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/slow-research-fast-research.png", - "size": 122695, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:14.000Z", - "key": "img/slides/slow-research-fast-research.png" - }, - "slow-research.png": { - "fileName": "slow-research.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/slow-research.png", - "size": 86145, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/slow-research.png" - }, - "small-trials.png": { - "fileName": "small-trials.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/small-trials.png", - "size": 119723, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:15.000Z", - "key": "img/slides/small-trials.png" - }, - "small-unrepresentative-trials.png": { - "fileName": "small-unrepresentative-trials.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/small-unrepresentative-trials.png", - "size": 395999, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:21.000Z", - "key": "img/slides/small-unrepresentative-trials.png" - }, - "studied-molecules-chart-no-background.png": { - "fileName": "studied-molecules-chart-no-background.png", - "originalPath": "assets/studied-molecules-chart-no-background.png", - "s3Url": "https://static.crowdsourcingcures.org/img/studied-molecules-chart-no-background.png", - "size": 211239, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:43.961Z", - "key": "img/studied-molecules-chart-no-background.png" - }, - "studies-2-study.gif": { - "fileName": "studies-2-study.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/studies-2-study.gif", - "size": 35248169, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/studies-2-study.gif" - }, - "studies.mp4": { - "fileName": "studies.mp4", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/studies.mp4", - "size": 3516080, - "mimeType": "video/mp4", - "uploadDate": "2024-02-27T02:02:05.000Z", - "key": "img/slides/studies.mp4" - }, - "study-mood.png": { - "fileName": "study-mood.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/study-mood.png", - "size": 539561, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:27.000Z", - "key": "img/slides/study-mood.png" - }, - "study.gif": { - "fileName": "study.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/study.gif", - "size": 15481356, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/study.gif" - }, - "study.mp4": { - "fileName": "study.mp4", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/study.mp4", - "size": 6794467, - "mimeType": "video/mp4", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/study.mp4" - }, - "study.png": { - "fileName": "study.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/study.png", - "size": 376535, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:22.000Z", - "key": "img/slides/study.png" - }, - "suffering3.jpg": { - "fileName": "suffering3.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/suffering3.jpg", - "size": 289836, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:52.000Z", - "key": "img/slides/suffering3.jpg" - }, - "super-fda-robot-transparent.png": { - "fileName": "super-fda-robot-transparent.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/super-fda-robot-transparent.png", - "size": 385291, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:22.000Z", - "key": "img/slides/super-fda-robot-transparent.png" - }, - "super-fda-robot.jpg": { - "fileName": "super-fda-robot.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/super-fda-robot.jpg", - "size": 228095, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:19.000Z", - "key": "img/slides/super-fda-robot.jpg" - }, - "super-happy-dao-icon-300x300.jpg": { - "fileName": "super-happy-dao-icon-300x300.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/super-happy-dao-icon-300x300.jpg", - "size": 20111, - "mimeType": "image/jpeg", - "uploadDate": "2024-02-27T06:40:06.000Z", - "key": "img/slides/super-happy-dao-icon-300x300.jpg" - }, - "symptom-factors.png": { - "fileName": "symptom-factors.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/symptom-factors.png", - "size": 754985, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:32.000Z", - "key": "img/slides/symptom-factors.png" - }, - "trial-exclusion-pie-chart-no-title.png": { - "fileName": "trial-exclusion-pie-chart-no-title.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/trial-exclusion-pie-chart-no-title.png", - "size": 36848, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/slides/trial-exclusion-pie-chart-no-title.png" - }, - "trial-exclusion-pie-chart.png": { - "fileName": "trial-exclusion-pie-chart.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/trial-exclusion-pie-chart.png", - "size": 51290, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/slides/trial-exclusion-pie-chart.png" - }, - "trial-failed-recruitment.gif": { - "fileName": "trial-failed-recruitment.gif", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/trial-failed-recruitment.gif", - "size": 6512034, - "mimeType": "image/gif", - "uploadDate": "2024-02-27T02:02:08.000Z", - "key": "img/slides/trial-failed-recruitment.gif" - }, - "verticle-innovation.png": { - "fileName": "verticle-innovation.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/verticle-innovation.png", - "size": 366822, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:23.000Z", - "key": "img/slides/verticle-innovation.png" - }, - "viagra.jpg": { - "fileName": "viagra.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/viagra.jpg", - "size": 501496, - "mimeType": "image/jpeg", - "uploadDate": "2024-03-07T06:13:25.000Z", - "key": "img/slides/viagra.jpg" - }, - "vitalia.png": { - "fileName": "vitalia.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/vitalia.png", - "size": 2235502, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:40.000Z", - "key": "img/slides/vitalia.png" - }, - "who-we-help.png": { - "fileName": "who-we-help.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/who-we-help.png", - "size": 303957, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:16.000Z", - "key": "img/slides/who-we-help.png" - }, - "who-we-help2.png": { - "fileName": "who-we-help2.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/slides/who-we-help2.png", - "size": 79822, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:12.000Z", - "key": "img/slides/who-we-help2.png" - }, - "spaces_alpb7mdybf0ce3vsyslf_uploads_git-blob-edb4adfe424234ff8866fd666bff043fd04c4d5a_integrations-screenshot.png": { - "fileName": "spaces_alpb7mdybf0ce3vsyslf_uploads_git-blob-edb4adfe424234ff8866fd666bff043fd04c4d5a_integrations-screenshot.png", - "originalPath": "spaces_alpb7mdybf0ce3vsyslf_uploads_git-blob-edb4adfe424234ff8866fd666bff043fd04c4d5a_integrations-screenshot.png", - "s3Url": "https://static.crowdsourcingcures.org/img/spaces_alpb7mdybf0ce3vsyslf_uploads_git-blob-edb4adfe424234ff8866fd666bff043fd04c4d5a_integrations-screenshot.png", - "size": 293788, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:23.943Z", - "key": "img/spaces_alpb7mdybf0ce3vsyslf_uploads_git-blob-edb4adfe424234ff8866fd666bff043fd04c4d5a_integrations-screenshot.png" - }, - "studied-molecules-chart-no-background.svg": { - "fileName": "studied-molecules-chart-no-background.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/studied-molecules-chart-no-background.svg", - "size": 31559, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:41.000Z", - "key": "img/studied-molecules-chart-no-background.svg" - }, - "sun.png": { - "fileName": "sun.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/sun.png", - "size": 36429, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:07.000Z", - "key": "img/sun.png" - }, - "task-management-agent.png": { - "fileName": "task-management-agent.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/task-management-agent.png", - "size": 204737, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:41.000Z", - "key": "img/task-management-agent.png" - }, - "thalidomide.jpg": { - "fileName": "thalidomide.jpg", - "originalPath": "assets/thalidomide.jpg", - "s3Url": "https://static.crowdsourcingcures.org/img/thalidomide.jpg", - "size": 15324, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-31T00:24:45.692Z", - "key": "img/thalidomide.jpg" - }, - "thousands-of-dashboards.PNG": { - "fileName": "thousands-of-dashboards.PNG", - "originalPath": "assets/thousands-of-dashboards.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/thousands-of-dashboards.PNG", - "size": 276516, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:38.407Z", - "key": "img/thousands-of-dashboards.PNG" - }, - "thumb_down_black.png": { - "fileName": "thumb_down_black.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/thumbs/thumb_down_black.png", - "size": 6050, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/thumbs/thumb_down_black.png" - }, - "thumb_down_black_16.png": { - "fileName": "thumb_down_black_16.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/thumbs/thumb_down_black_16.png", - "size": 463, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/thumbs/thumb_down_black_16.png" - }, - "thumb_down_white.png": { - "fileName": "thumb_down_white.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/thumbs/thumb_down_white.png", - "size": 9272, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/thumbs/thumb_down_white.png" - }, - "thumb_down_white_16.png": { - "fileName": "thumb_down_white_16.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/thumbs/thumb_down_white_16.png", - "size": 543, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/thumbs/thumb_down_white_16.png" - }, - "thumb_up_black.png": { - "fileName": "thumb_up_black.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/thumbs/thumb_up_black.png", - "size": 5910, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/thumbs/thumb_up_black.png" - }, - "thumb_up_black_16.png": { - "fileName": "thumb_up_black_16.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/thumbs/thumb_up_black_16.png", - "size": 467, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/thumbs/thumb_up_black_16.png" - }, - "thumb_up_white.png": { - "fileName": "thumb_up_white.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/thumbs/thumb_up_white.png", - "size": 9181, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/thumbs/thumb_up_white.png" - }, - "thumb_up_white_16.png": { - "fileName": "thumb_up_white_16.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/thumbs/thumb_up_white_16.png", - "size": 541, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/thumbs/thumb_up_white_16.png" - }, - "traditional-non-profit-organizational-structure.jpg": { - "fileName": "traditional-non-profit-organizational-structure.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/traditional-non-profit-organizational-structure.jpg", - "size": 89083, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:42.000Z", - "key": "img/traditional-non-profit-organizational-structure.jpg" - }, - "trial-management.svg": { - "fileName": "trial-management.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/trial-management.svg", - "size": 244681, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:42.000Z", - "key": "img/trial-management.svg" - }, - "us-healthcare-expenditure-per-person.png": { - "fileName": "us-healthcare-expenditure-per-person.png", - "originalPath": "assets/us-healthcare-expenditure-per-person.png", - "s3Url": "https://static.crowdsourcingcures.org/img/us-healthcare-expenditure-per-person.png", - "size": 15910, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:48.768Z", - "key": "img/us-healthcare-expenditure-per-person.png" - }, - "us-healthcare-expenditure.svg": { - "fileName": "us-healthcare-expenditure.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/us-healthcare-expenditure.svg", - "size": 27359, - "mimeType": "image/svg+xml", - "uploadDate": "2025-01-16T21:13:43.000Z", - "key": "img/us-healthcare-expenditure.svg" - }, - "us-swiss-life-expectancy-5.png": { - "fileName": "us-swiss-life-expectancy-5.png", - "originalPath": "assets/us-swiss-life-expectancy-5.png", - "s3Url": "https://static.crowdsourcingcures.org/img/us-swiss-life-expectancy-5.png", - "size": 75012, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:41.948Z", - "key": "img/us-swiss-life-expectancy-5.png" - }, - "us-swiss-life-expectancy-drug-approvals.png": { - "fileName": "us-swiss-life-expectancy-drug-approvals.png", - "originalPath": "assets/us-swiss-life-expectancy-drug-approvals.png", - "s3Url": "https://static.crowdsourcingcures.org/img/us-swiss-life-expectancy-drug-approvals.png", - "size": 183772, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:42.255Z", - "key": "img/us-swiss-life-expectancy-drug-approvals.png" - }, - "value-chain-diagram.png": { - "fileName": "value-chain-diagram.png", - "originalPath": "assets/value-chain-diagram.png", - "s3Url": "https://static.crowdsourcingcures.org/img/value-chain-diagram.png", - "size": 156103, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:32:16.432Z", - "key": "img/value-chain-diagram.png" - }, - "activities.png": { - "fileName": "activities.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/activities.png", - "size": 5126, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/activities.png" - }, - "activity.png": { - "fileName": "activity.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/activity.png", - "size": 5126, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/activity.png" - }, - "activity.svg": { - "fileName": "activity.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/activity.svg", - "size": 5621, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/activity.svg" - }, - "banknotes-96.png": { - "fileName": "banknotes-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/banknotes-96.png", - "size": 2457, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/banknotes-96.png" - }, - "books-96.png": { - "fileName": "books-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/books-96.png", - "size": 1921, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/books-96.png" - }, - "books.png": { - "fileName": "books.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/books.png", - "size": 4886, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/books.png" - }, - "books.svg": { - "fileName": "books.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/books.svg", - "size": 2391, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/books.svg" - }, - "brain-96.png": { - "fileName": "brain-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/brain-96.png", - "size": 3504, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/brain-96.png" - }, - "categorize-96.png": { - "fileName": "categorize-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/categorize-96.png", - "size": 751, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/categorize-96.png" - }, - "causes-of-illness.png": { - "fileName": "causes-of-illness.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/causes-of-illness.png", - "size": 27233, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/causes-of-illness.png" - }, - "causes-of-illness.svg": { - "fileName": "causes-of-illness.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/causes-of-illness.svg", - "size": 2050, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/causes-of-illness.svg" - }, - "chance_of_storm-96.png": { - "fileName": "chance_of_storm-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/chance_of_storm-96.png", - "size": 1617, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/chance_of_storm-96.png" - }, - "cognitive-performance.png": { - "fileName": "cognitive-performance.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/cognitive-performance.png", - "size": 11287, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/cognitive-performance.png" - }, - "cognitive-performance.svg": { - "fileName": "cognitive-performance.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/cognitive-performance.svg", - "size": 8741, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/cognitive-performance.svg" - }, - "collaboration-96.png": { - "fileName": "collaboration-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/collaboration-96.png", - "size": 875, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/collaboration-96.png" - }, - "conditions.png": { - "fileName": "conditions.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/conditions.png", - "size": 5962, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/conditions.png" - }, - "conditions.svg": { - "fileName": "conditions.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/conditions.svg", - "size": 2067, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/conditions.svg" - }, - "console-96.png": { - "fileName": "console-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/console-96.png", - "size": 552, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/console-96.png" - }, - "dizzy_person_2-96.png": { - "fileName": "dizzy_person_2-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/dizzy_person_2-96.png", - "size": 2394, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/dizzy_person_2-96.png" - }, - "economics.png": { - "fileName": "economics.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/economics.png", - "size": 6372, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/economics.png" - }, - "economics.svg": { - "fileName": "economics.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/economics.svg", - "size": 3274, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/economics.svg" - }, - "emotions.png": { - "fileName": "emotions.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/emotions.png", - "size": 9527, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/emotions.png" - }, - "emotions.svg": { - "fileName": "emotions.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/emotions.svg", - "size": 2556, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/emotions.svg" - }, - "environment.png": { - "fileName": "environment.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/environment.png", - "size": 11319, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/environment.png" - }, - "environment.svg": { - "fileName": "environment.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/environment.svg", - "size": 21148, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/environment.svg" - }, - "foods.png": { - "fileName": "foods.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/foods.png", - "size": 8297, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/foods.png" - }, - "foods.svg": { - "fileName": "foods.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/foods.svg", - "size": 7805, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/foods.svg" - }, - "football-96.png": { - "fileName": "football-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/football-96.png", - "size": 1997, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/football-96.png" - }, - "goals.png": { - "fileName": "goals.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/goals.png", - "size": 1997, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/goals.png" - }, - "heart_monitor-96.png": { - "fileName": "heart_monitor-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/heart_monitor-96.png", - "size": 1461, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/heart_monitor-96.png" - }, - "location.png": { - "fileName": "location.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/location.png", - "size": 7085, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/location.png" - }, - "location.svg": { - "fileName": "location.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/location.svg", - "size": 5107, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/location.svg" - }, - "miscellaneous.png": { - "fileName": "miscellaneous.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/miscellaneous.png", - "size": 18601, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/miscellaneous.png" - }, - "miscellaneous.svg": { - "fileName": "miscellaneous.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/miscellaneous.svg", - "size": 897, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/miscellaneous.svg" - }, - "movies-and-tv.png": { - "fileName": "movies-and-tv.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/movies-and-tv.png", - "size": 2498, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/movies-and-tv.png" - }, - "movies-and-tv.svg": { - "fileName": "movies-and-tv.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/movies-and-tv.svg", - "size": 1459, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/movies-and-tv.svg" - }, - "music.png": { - "fileName": "music.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/music.png", - "size": 3453, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/music.png" - }, - "music.svg": { - "fileName": "music.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/music.svg", - "size": 927, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/music.svg" - }, - "musical_notes-96.png": { - "fileName": "musical_notes-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/musical_notes-96.png", - "size": 896, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/musical_notes-96.png" - }, - "nutrients.png": { - "fileName": "nutrients.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/nutrients.png", - "size": 12060, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/nutrients.png" - }, - "nutrients.svg": { - "fileName": "nutrients.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/nutrients.svg", - "size": 4960, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/nutrients.svg" - }, - "payments.png": { - "fileName": "payments.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/payments.png", - "size": 6372, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/payments.png" - }, - "payments.svg": { - "fileName": "payments.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/payments.svg", - "size": 3274, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/payments.svg" - }, - "physical-activity.png": { - "fileName": "physical-activity.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/physical-activity.png", - "size": 6685, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/physical-activity.png" - }, - "physical-activity.svg": { - "fileName": "physical-activity.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/physical-activity.svg", - "size": 2697, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/physical-activity.svg" - }, - "physique.png": { - "fileName": "physique.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/physique.png", - "size": 6142, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/physique.png" - }, - "physique.svg": { - "fileName": "physique.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/physique.svg", - "size": 1664, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/physique.svg" - }, - "pill-96.png": { - "fileName": "pill-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/pill-96.png", - "size": 2037, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/pill-96.png" - }, - "retro_tv-96.png": { - "fileName": "retro_tv-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/retro_tv-96.png", - "size": 873, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:09.000Z", - "key": "img/variable_categories/retro_tv-96.png" - }, - "sad-96.png": { - "fileName": "sad-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/sad-96.png", - "size": 1618, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/sad-96.png" - }, - "sleep.png": { - "fileName": "sleep.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/sleep.png", - "size": 7150, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/sleep.png" - }, - "sleep.svg": { - "fileName": "sleep.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/sleep.svg", - "size": 2245, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/sleep.svg" - }, - "sleeping_in_bed-96.png": { - "fileName": "sleeping_in_bed-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/sleeping_in_bed-96.png", - "size": 589, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/sleeping_in_bed-96.png" - }, - "social-interaction.png": { - "fileName": "social-interaction.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/social-interaction.png", - "size": 3294, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/social-interaction.png" - }, - "social-interaction.svg": { - "fileName": "social-interaction.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/social-interaction.svg", - "size": 1340, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/social-interaction.svg" - }, - "social-interactions.png": { - "fileName": "social-interactions.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/social-interactions.png", - "size": 3294, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/social-interactions.png" - }, - "social-interactions.svg": { - "fileName": "social-interactions.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/social-interactions.svg", - "size": 1340, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/social-interactions.svg" - }, - "software.png": { - "fileName": "software.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/software.png", - "size": 4113, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/software.png" - }, - "software.svg": { - "fileName": "software.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/software.svg", - "size": 2646, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/software.svg" - }, - "symptoms.png": { - "fileName": "symptoms.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/symptoms.png", - "size": 8943, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/symptoms.png" - }, - "symptoms.svg": { - "fileName": "symptoms.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/symptoms.svg", - "size": 1922, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/symptoms.svg" - }, - "theatre_mask-96.png": { - "fileName": "theatre_mask-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/theatre_mask-96.png", - "size": 2848, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/theatre_mask-96.png" - }, - "treasure_map-96.png": { - "fileName": "treasure_map-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/treasure_map-96.png", - "size": 1773, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/treasure_map-96.png" - }, - "treatments.png": { - "fileName": "treatments.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/treatments.png", - "size": 2383, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/treatments.png" - }, - "treatments.svg": { - "fileName": "treatments.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/treatments.svg", - "size": 1170, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/treatments.svg" - }, - "vegetarian_food-96.png": { - "fileName": "vegetarian_food-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/vegetarian_food-96.png", - "size": 2764, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/vegetarian_food-96.png" - }, - "virus-96.png": { - "fileName": "virus-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/virus-96.png", - "size": 3307, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/virus-96.png" - }, - "vital-signs.png": { - "fileName": "vital-signs.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/vital-signs.png", - "size": 6890, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/vital-signs.png" - }, - "vital-signs.svg": { - "fileName": "vital-signs.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/vital-signs.svg", - "size": 1553, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/vital-signs.svg" - }, - "weightlifting-96.png": { - "fileName": "weightlifting-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/weightlifting-96.png", - "size": 2128, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/weightlifting-96.png" - }, - "work-96.png": { - "fileName": "work-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/work-96.png", - "size": 2182, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/work-96.png" - }, - "work.png": { - "fileName": "work.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/work.png", - "size": 2309, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/work.png" - }, - "work.svg": { - "fileName": "work.svg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/work.svg", - "size": 1292, - "mimeType": "image/svg+xml", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/work.svg" - }, - "yoga-96.png": { - "fileName": "yoga-96.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/variable_categories/yoga-96.png", - "size": 1944, - "mimeType": "image/png", - "uploadDate": "2024-03-07T06:13:10.000Z", - "key": "img/variable_categories/yoga-96.png" - }, - "vertical-innovation.PNG": { - "fileName": "vertical-innovation.PNG", - "originalPath": "assets/vertical-innovation.PNG", - "s3Url": "https://static.crowdsourcingcures.org/img/vertical-innovation.PNG", - "size": 144815, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:38.662Z", - "key": "img/vertical-innovation.PNG" - }, - "virtual-world.jpg": { - "fileName": "virtual-world.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/virtual-world.jpg", - "size": 325455, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:43.000Z", - "key": "img/virtual-world.jpg" - }, - "web-notification-curcumin-300x253.jpg": { - "fileName": "web-notification-curcumin-300x253.jpg", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/web-notification-curcumin-300x253.jpg", - "size": 53752, - "mimeType": "image/jpeg", - "uploadDate": "2025-01-16T21:13:44.000Z", - "key": "img/web-notification-curcumin-300x253.jpg" - }, - "wellbutrin-effectiveness-small-sample-size.png": { - "fileName": "wellbutrin-effectiveness-small-sample-size.png", - "originalPath": "assets/wellbutrin-effectiveness-small-sample-size.png", - "s3Url": "https://static.crowdsourcingcures.org/img/wellbutrin-effectiveness-small-sample-size.png", - "size": 82835, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:24:49.664Z", - "key": "img/wellbutrin-effectiveness-small-sample-size.png" - }, - "why-research-and-treatment-systems-are-failing.PNG": { - "fileName": "why-research-and-treatment-systems-are-failing.PNG", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/why-research-and-treatment-systems-are-failing.PNG", - "size": 271962, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:44.000Z", - "key": "img/why-research-and-treatment-systems-are-failing.PNG" - }, - "why-trials-are-so-expensive-cost.png": { - "fileName": "why-trials-are-so-expensive-cost.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/why-trials-are-so-expensive-cost.png", - "size": 527238, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:44.000Z", - "key": "img/why-trials-are-so-expensive-cost.png" - }, - "why-we-should-determine-efficacy-through-open-trials.png": { - "fileName": "why-we-should-determine-efficacy-through-open-trials.png", - "originalPath": "(uploaded directly to S3)", - "s3Url": "https://your-custom-domain.com/img/why-we-should-determine-efficacy-through-open-trials.png", - "size": 79834, - "mimeType": "image/png", - "uploadDate": "2025-01-16T21:13:45.000Z", - "key": "img/why-we-should-determine-efficacy-through-open-trials.png" - }, - "number-of-molecules-with-drug-like-properties.png": { - "fileName": "number-of-molecules-with-drug-like-properties.png", - "originalPath": "assets/number-of-molecules-with-drug-like-properties.png", - "s3Url": "https://static.crowdsourcingcures.org/img/number-of-molecules-with-drug-like-properties.png", - "size": 123669, - "mimeType": "image/png", - "uploadDate": "2025-01-31T00:32:15.418Z", - "key": "img/number-of-molecules-with-drug-like-properties.png" - } - } -} \ No newline at end of file diff --git a/fdai/Global_Economic_Value_of_AI_in_Healthcare_Full.xlsx b/fdai/Global_Economic_Value_of_AI_in_Healthcare_Full.xlsx new file mode 100644 index 00000000..866d98c5 Binary files /dev/null and b/fdai/Global_Economic_Value_of_AI_in_Healthcare_Full.xlsx differ diff --git a/fdai/drug-classification.md b/fdai/drug-classification.md new file mode 100644 index 00000000..38bf74f6 --- /dev/null +++ b/fdai/drug-classification.md @@ -0,0 +1,310 @@ +--- +description: >- + An overview of the quantitative data and formulas used by regulators to + categorize drugs as OTC, prescription-only, or scheduled. +emoji: "\U0001F4CA" +title: Quantitative Data for Drug Regulation +tags: + - drug-regulation + - efficacy + - safety + - quantitative-data +published: true +editor: markdown +date: '2025-02-09T16:34:33.103Z' +dateCreated: '2025-02-09T16:34:33.103Z' +--- +### Quantitative Summary Data for Drug Regulation + +To decide if a drug should be over-the-counter (OTC), prescription-only, or scheduled by the DEA, regulators consider several quantitative data points. Below is a list of necessary data and formulas for determining the appropriate category for a drug. + +#### 1. **Efficacy Data** + +- **Mean Efficacy (ME):** Average improvement in condition severity score in clinical trials. +- **Response Rate (RR):** Percentage of patients showing significant improvement. +- **Number Needed to Treat (NNT):** Number of patients that need to be treated to achieve one positive outcome. + +\[ +\text{ME} = \frac{\sum \text{(Post-treatment severity score)} - \sum \text{(Pre-treatment severity score)}}{\text{Number of patients}} +\] + +\[ +\text{RR} = \frac{\text{Number of patients with significant improvement}}{\text{Total number of patients}} \times 100 +\] + +\[ +\text{NNT} = \frac{1}{\text{RR}} +\] + +#### 2. **Safety Data** + +- **Adverse Event Rate (AER):** Percentage of patients experiencing adverse events. +- **Serious Adverse Event Rate (SAER):** Percentage of patients experiencing serious adverse events. +- **Therapeutic Index (TI):** Ratio of the toxic dose to the therapeutic dose. + +\[ +\text{AER} = \frac{\text{Number of patients with adverse events}}{\text{Total number of patients}} \times 100 +\] + +\[ +\text{SAER} = \frac{\text{Number of patients with serious adverse events}}{\text{Total number of patients}} \times 100 +\] + +\[ +\text{TI} = \frac{\text{Toxic Dose (TD50)}}{\text{Effective Dose (ED50)}} +\] + +#### 3. **Dependence and Abuse Potential** + +- **Dependence Rate (DR):** Percentage of patients developing dependence. +- **Abuse Rate (AR):** Percentage of patients engaging in non-prescribed use. +- **Addiction Severity Index (ASI):** Composite score assessing addiction severity. + +\[ +\text{DR} = \frac{\text{Number of patients with dependence}}{\text{Total number of patients}} \times 100 +\] + +\[ +\text{AR} = \frac{\text{Number of patients with non-prescribed use}}{\text{Total number of patients}} \times 100 +\] + +\[ +\text{ASI} = \text{Composite score from a standardized questionnaire} +\] + +#### 4. **Pharmacokinetic Data** + +- **Half-Life (t1/2):** Time taken for the plasma concentration of the drug to reduce by half. +- **Bioavailability (BA):** Fraction of the administered dose reaching systemic circulation. + +\[ +t\_{1/2} = \frac{0.693}{k_e} +\] + +\[ +\text{BA} = \frac{\text{Area Under Curve (AUC) of oral dose}}{\text{AUC of IV dose}} \times 100 +\] + +#### 5. **Cost-Effectiveness Data** + +- **Cost per Quality-Adjusted Life Year (QALY):** Cost per unit of health benefit. +- **Incremental Cost-Effectiveness Ratio (ICER):** Ratio of the change in costs to the change in health benefits. + +\[ +\text{Cost per QALY} = \frac{\text{Total Cost}}{\text{QALYs gained}} +\] + +\[ +\text{ICER} = \frac{\Delta \text{Cost}}{\Delta \text{QALY}} +\] + +### Determination Formulas + +#### Over-the-Counter (OTC) vs. Prescription Only + +- **Efficacy Threshold:** Drug should have an ME above a certain threshold and a low NNT. +- **Safety Threshold:** Low AER and SAER. +- **Dependence and Abuse Potential:** Low DR and AR, minimal ASI score. +- **Therapeutic Index:** High TI indicates a safer drug. + +\[ +\text{OTC} \implies \text{ME} > \text{Threshold} \ \text{and} \ \text{NNT} < \text{Threshold} \ \text{and} \ \text{AER} < \text{Threshold} \ \text{and} \ \text{SAER} < \text{Threshold} \ \text{and} \ \text{DR} < \text{Threshold} \ \text{and} \ \text{AR} < \text{Threshold} \ \text{and} \ \text{TI} > \text{Threshold} +\] + +\[ +\text{Prescription} \implies \text{ME} > \text{Lower Threshold} \ \text{and} \ \text{AER} < \text{Higher Threshold} \ \text{and} \ \text{SAER} < \text{Higher Threshold} +\] + +#### DEA Scheduling + +- **Schedule I:** High AR, high DR, high ASI, no accepted medical use. +- **Schedule II-V:** Varying levels of AR, DR, ASI, and accepted medical use. + +\[ +\text{Schedule I} \implies \text{AR} \ \text{High} \ \text{and} \ \text{DR} \ \text{High} \ \text{and} \ \text{ASI} \ \text{High} \ \text{and} \ \text{No accepted medical use} +\] + +\[ +\text{Schedule II-V} \implies \text{AR} \ \text{Varies} \ \text{and} \ \text{DR} \ \text{Varies} \ \text{and} \ \text{ASI} \ \text{Varies} \ \text{and} \ \text{Accepted medical use} +\] + +These formulas and data points help regulators make informed decisions about drug classification, balancing efficacy, safety, and potential for abuse. + +# Cost Benefit Analysis + +Ensuring that the benefits of decreased access (if restricted) always exceed the costs of restricted access is a complex challenge. The formulas and data points outlined provide a framework for decision-making, but they do not inherently guarantee that benefits will always outweigh costs. To address this, a more comprehensive cost-benefit analysis (CBA) is required. Below are additional considerations and modifications to ensure a thorough evaluation: + +### Comprehensive Cost-Benefit Analysis (CBA) Framework + +1. **Quantitative Data for Benefits and Costs** + + - **Benefits of Restriction:** + - Reduction in Adverse Events (RAE) + - Decrease in Dependence and Abuse Rates (DDAR) + - Overall Improvement in Public Health (OIPH) + - **Costs of Restriction:** + - Loss of Accessibility and Convenience (LAC) + - Increase in Health Care Costs due to Unmet Needs (IHCC) + - Potential for Black Market Activity (PBMA) + +2. **Monetary Valuation** + + - **Benefits:** + - Cost savings from fewer adverse events (CSFAE) + - Economic benefits of reduced addiction and abuse (EBRAA) + - Improved productivity and quality of life (IPQL) + - **Costs:** + - Increased costs of health care due to restricted access (ICHA) + - Loss of income/productivity due to untreated conditions (LIUTC) + - Costs associated with enforcement and regulation (CER) + +3. **Formulas for Comprehensive Evaluation** + + - **Net Benefit (NB):** The difference between total benefits and total costs. + + \[ + \text{NB} = (\text{RAE} + \text{DDAR} + \text{OIPH}) - (\text{LAC} + \text{IHCC} + \text{PBMA}) + \] + + - **Monetary Net Benefit (MNB):** The difference between monetary valuation of benefits and costs. + + \[ + \text{MNB} = (\text{CSFAE} + \text{EBRAA} + \text{IPQL}) - (\text{ICHA} + \text{LIUTC} + \text{CER}) + \] + +4. **Decision Rule** + + - **If NB > 0 and MNB > 0,** the benefits of restriction exceed the costs. + - **If NB < 0 or MNB < 0,** the costs of restriction exceed the benefits. + +5. **Sensitivity Analysis** + - Evaluate how changes in key parameters affect the outcome. + - Identify thresholds where the decision might change. + - Consider worst-case and best-case scenarios. + +### Implementing the Framework + +1. **Data Collection and Analysis:** + + - Collect comprehensive data on the impacts of drug restriction on public health and the economy. + - Utilize statistical models to estimate reductions in adverse events, dependence, and abuse rates. + - Quantify the economic impact of improved health outcomes and reduced addiction. + +2. **Stakeholder Input:** + + - Engage with healthcare professionals, patients, and policymakers to gather qualitative data. + - Consider public opinion and the potential societal impact of restricted access. + +3. **Dynamic Monitoring:** + - Continuously monitor the effects of drug restrictions. + - Adjust policies based on real-time data and feedback. + +### Example Calculation + +#### Benefits of Restriction: + +- **RAE:** Reduction in adverse events saves $10 million annually. +- **DDAR:** Decrease in dependence and abuse rates saves $5 million annually. +- **OIPH:** Overall improvement in public health adds $3 million annually. + +\[ +\text{Total Benefits} = 10 + 5 + 3 = 18 \ \text{million dollars} +\] + +#### Costs of Restriction: + +- **LAC:** Loss of accessibility and convenience costs $4 million annually. +- **IHCC:** Increased health care costs due to unmet needs cost $6 million annually. +- **PBMA:** Potential for black market activity costs $2 million annually. + +\[ +\text{Total Costs} = 4 + 6 + 2 = 12 \ \text{million dollars} +\] + +\[ +\text{Net Benefit (NB)} = 18 - 12 = 6 \ \text{million dollars} +\] + +#### Monetary Valuation: + +- **CSFAE:** Cost savings from fewer adverse events: $10 million +- **EBRAA:** Economic benefits of reduced addiction and abuse: $5 million +- **IPQL:** Improved productivity and quality of life: $3 million + +\[ +\text{Total Monetary Benefits} = 10 + 5 + 3 = 18 \ \text{million dollars} +\] + +- **ICHA:** Increased health care costs: $6 million +- **LIUTC:** Loss of income/productivity: $3 million +- **CER:** Costs of enforcement and regulation: $1 million + +\[ +\text{Total Monetary Costs} = 6 + 3 + 1 = 10 \ \text{million dollars} +\] + +\[ +\text{Monetary Net Benefit (MNB)} = 18 - 10 = 8 \ \text{million dollars} +\] + +Since both NB and MNB are positive, the benefits of restricting access to the drug exceed the costs. + +# Quantitative Summary Data for Drug Classification + +1. Efficacy Rate (ER): Percentage of patients showing significant improvement +2. Adverse Event Rate (AER): Percentage of patients experiencing side effects +3. Severe Adverse Event Rate (SAER): Percentage of patients experiencing severe side effects +4. Drug Interaction Index (DII): Number of significant drug interactions (0-10 scale) +5. Therapeutic Index (TI): Ratio of median lethal dose (LD50) to median effective dose (ED50) +6. Abuse Potential Score (APS): Scale from 0-100 based on addiction studies +7. Withdrawal Severity Index (WSI): Scale from 0-10 based on withdrawal symptoms +8. Overdose Risk Factor (ORF): Ratio of recreational dose to therapeutic dose +9. Misuse Probability (MP): Percentage of users likely to misuse the drug +10. Self-Administration Safety (SAS): Scale from 0-10 for safety of self-administration +11. Access Benefit Ratio (ABR): Ratio of health benefits from unrestricted access to health risks from unrestricted access +12. Societal Cost Index (SCI): Scale from 0-100 measuring societal costs of restricted access (e.g., black market creation, criminalization) + +# Formulas for Drug Classification + +## Over-the-Counter (OTC) Determination + +OTC Score = (ER _ 0.3) + ((100 - AER) _ 0.2) + ((100 - SAER) _ 0.2) + ((10 - DII) _ 10 _ 0.1) + (SAS _ 10 \* 0.2) + +If OTC Score ≥ 80, consider for OTC status + +## Prescription-Only Determination + +Prescription Score = (ER _ 0.25) + (AER _ 0.15) + (SAER _ 0.2) + (DII _ 5 _ 0.1) + ((10 - SAS) _ 10 \* 0.3) + +If Prescription Score ≥ 60, consider for prescription-only status + +## DEA Scheduling Determination + +Scheduling Score = (APS _ 0.3) + (WSI _ 10 _ 0.2) + (ORF _ 10 _ 0.2) + (MP _ 0.2) + ((10 - TI) _ 10 _ 0.1) + +DEA Schedule based on Scheduling Score: + +- Schedule I: Not approved for medical use +- Schedule II: Scheduling Score ≥ 80 +- Schedule III: 60 ≤ Scheduling Score < 80 +- Schedule IV: 40 ≤ Scheduling Score < 60 +- Schedule V: 20 ≤ Scheduling Score < 40 +- Unscheduled: Scheduling Score < 20 + +## Access Restriction Benefit Analysis + +Access Restriction Benefit Score (ARBS) = (100 - ABR) _ 0.6 + (100 - SCI) _ 0.4 + +If ARBS > 50, the benefits of restriction may outweigh the costs +If ARBS ≤ 50, the costs of restriction may outweigh the benefits + +## Integrated Classification Decision + +Final Classification Score (FCS) = +(OTC Score _ 0.3) + (Prescription Score _ 0.3) + (Scheduling Score _ 0.2) + (ARBS _ 0.2) + +Classification guide based on FCS: + +- If FCS < 40 and ARBS < 50: Consider OTC +- If 40 ≤ FCS < 60 or (FCS < 40 and ARBS ≥ 50): Consider Prescription-Only +- If FCS ≥ 60: Consider DEA Scheduling (use Scheduling Score to determine level) diff --git a/fdai/fdai-act.md b/fdai/fdai-act.md new file mode 100644 index 00000000..b1be5a0c --- /dev/null +++ b/fdai/fdai-act.md @@ -0,0 +1,416 @@ +--- +description: >- + An Act to revolutionize healthcare through AI and data analysis, focusing on + personalized health optimization, accelerated clinical discovery, and global + health equity. +emoji: "\U0001F3E5" +title: The FDA Innovation through Data and AI Act (FDAi Act) +tags: + - healthcare + - AI + - data-analysis + - regulation + - clinical-research +published: true +editor: markdown +date: '2025-02-09T16:34:38.071Z' +dateCreated: '2025-02-09T16:34:38.071Z' +--- +# The FDA Innovation through Data and AI Act (FDAi Act) + +An Act to Revolutionize Healthcare Through the Deployment of the FDAi System, Ensuring Personalized Health Optimization, Accelerated Clinical Discovery, and Global Health Equity + +Acknowledging the transformative potential of artificial intelligence in revolutionizing healthcare delivery and research, and recognizing the need to overcome the limitations of the current healthcare and regulatory framework, this Act seeks to establish the FDAi system. It aims to foster a healthcare ecosystem that is personalized, efficient, and equitable, transcending traditional barriers to healthcare innovation and delivery. + +This bill highlights the urgency and necessity of leveraging AI and data analysis to improve health outcomes and decision-making. It emphasizes the FDA's role in facilitating access to experimental therapies and minimizing barriers for those in urgent need, with a strong focus on transparency, rapid data collection, and personalized health insights. + +This Act envisions a future where the collective health intelligence of the population is harnessed through cutting-edge technology, significantly advancing the FDA's ability to fulfill its mandate of ensuring the safety and efficacy of foods, drugs, supplements, and additives. + +The FDAi Act is intended to provide a personal FDAi agent to every citizen: + +Personal FDAi Agent Integration: Deploy AI-powered agents that aggregate and analyze individuals' health and behavioral data. These agents will be capable of understanding complex health conditions and lifestyle patterns to recommend optimal diets and treatments and monitor for potential side effects continuously. + +Advanced Dietary and Treatment Optimization: Leverage AI to quantify the positive and negative effects of foods, drugs, and additives on an individual's health, enabling tailored dietary and treatment plans that dynamically adjust to health changes and personal preferences. + +Clinical Trial Connectivity: Simplify the process for individuals to discover and enroll in clinical trials relevant to their health conditions. The FDAi agent will facilitate seamless participation, including eligibility checks, consent processes, and integration with trial data collection, enhancing the speed and efficiency of clinical research. + +Comprehensive Health Monitoring: Use wearables and other health-monitoring devices to collect real-time data. This capability ensures that the FDAi agent can proactively suggest adjustments to treatment plans based on real-world evidence, promoting early intervention and preventing adverse health outcomes. + +Automated Research and Data Analysis: Aggregate and analyze data from a broad spectrum of sources, including clinical trials, electronic health records (EHRs), and real-world evidence, to publish up-to-date research findings. This approach will democratize access to the latest healthcare information, empowering individuals with knowledge previously confined to medical professionals. + +Test and Procedure Scheduling: Integrate scheduling functionalities to ensure that necessary tests and medical procedures are timely and efficiently managed, reducing the administrative burden on individuals and healthcare providers. + +How the personal FDAi agent and the broader initiative can transform the research landscape: + +1. **Decentralized, Continuous Research**: Establish a system where FDAi agents conduct long-term, continuous research across the entire population. This approach enables the collection of vast datasets on health outcomes, treatments, diets, and lifestyle choices, providing an unparalleled resource for understanding human health and disease. +2. **Removing Profit Motives from Research**: By operating without the profit motive that underpins pharmaceutical-driven research, FDAi focuses on discovering and validating the most effective treatments, regardless of their patent status or commercial potential. This shift prioritizes patient outcomes over financial gain, addressing the current system's bias towards patented molecules. +3. **Reducing Research Costs**: Utilize AI and decentralized data collection to reduce the costs associated with traditional clinical trials dramatically. By leveraging real-world data from the population and employing advanced data analytics, FDAi can identify treatment effects and potential new therapies more efficiently and at a fraction of the cost of conventional methods. +4. **Open and Collaborative Research Model**: Encourage an open-source ethos in medical research, where data and findings are shared freely among scientists, clinicians, and the public. This model fosters collaboration, accelerates the dissemination of knowledge, and ensures that innovations benefit the widest possible audience. +5. **Ethical Data Utilization**: Implement strict ethical guidelines and consent frameworks to ensure that individuals' data is used responsibly and with respect for privacy. By building trust in the system, FDAi can ensure high levels of participation and data quality, crucial for the success of long-term research initiatives. +6. **Personalized and Adaptive Clinical Trials**: Develop personalized clinical trial methodologies that adapt to real-time individual responses. This approach accelerates the discovery of effective treatments and minimizes patient suffering by quickly identifying the most beneficial interventions for each individual. +7. **Global Health Equity**: Aim to reduce global health disparities by making the fruits of research accessible to all, regardless of geographic location or economic status. By focusing on effective and affordable treatments, FDAi can contribute to a more equitable health system worldwide. +8. **Regulatory Innovation**: Work with regulatory bodies to adapt current frameworks to AI-driven, decentralized research realities. This includes developing new standards for evaluating treatments based on real-world evidence and ensuring that regulatory processes facilitate rapid innovation while maintaining patient safety. + + +## Preamble + +WHEREAS the Food and Drug Administration (FDA) is mandated to ensure the safety and efficacy of food, drugs, supplements, and additives consumed by the American public; + +WHEREAS the current methodologies for assessing the long-term impacts of these substances are limited and do not fully leverage the potential of modern data analysis and artificial intelligence technologies; + +WHEREAS the rapid and inclusive collection of longitudinal health data from a diverse population is crucial for understanding the personalized effects of foods, drugs, supplements, and additives on health outcomes; + +WHEREAS the development of an open, interoperable platform for health data sharing, combined with advanced AI-driven analysis, can revolutionize the understanding of health impacts and inform more effective and personalized healthcare decisions; + +WHEREAS the safety, efficacy, and personalized understanding of the impacts of foods, drugs, supplements, and additives are critical to improving health outcomes; + +WHEREAS the rapid collection and analysis of health data through advanced technologies can accelerate the discovery of effective treatments, particularly for the sick and dying; + +WHEREAS the use of artificial intelligence (AI) can significantly enhance the ability of individuals and physicians to make informed health decisions; + +WHEREAS the Food and Drug Administration (FDA) has a responsibility to facilitate access to experimental therapies, minimizing bureaucratic and financial barriers for those in urgent need of relief; + +WHEREAS the Food and Drug Administration (FDA) is mandated to ensure the safety and efficacy of food, drugs, supplements, and additives consumed by the American public; + +WHEREAS the current methodologies for assessing the long-term impacts of these substances are limited and do not fully leverage the potential of modern data analysis and artificial intelligence technologies; + +WHEREAS the rapid and inclusive collection of longitudinal health data from a diverse population is crucial for understanding the personalized effects of foods, drugs, supplements, and additives on health outcomes; + +WHEREAS the development of an open, interoperable platform for health data sharing, combined with advanced AI-driven analysis, can revolutionize the understanding of health impacts and inform more effective and personalized healthcare decisions; + +NOW, THEREFORE, be it enacted by the Senate and House of Representatives of the United States of America in Congress assembled, that: + +## Section 1. Objective + +This Act mandates the Food and Drug Administration (FDA) to: +- Support the development and deployment of an AI agent to assist individuals and physicians in understanding the personal effects of foods, drugs, and supplements, and in making informed prescribing decisions. +- Ensure that the FDA does not obstruct the efforts of the sick or dying to find relief due to a lack of data. +- Make participation in clinical trials of experimental therapies effortless and cost-effective for the sick and dying, thereby accelerating the collection of safety and efficacy data. + +## Section 2. FDAi Platform + +The FDA shall fund and oversee the development of the FDAi Platform, an open-source repository and suite of tools designed to: +- Allow for the secure and voluntary sharing of time series data on symptom severity, medication and supplement intake, and dietary intake by individuals. +- Employ causal inference algorithms to generate mega-studies that elucidate the frequency and magnitude of symptoms and health outcomes following exposure to various foods, drugs, supplements, and additives. +- Facilitate the development of predictive models for the personalized effects of these substances on individual health outcomes. + +### Core Components +The FDAi Platform will comprise: +1. **Data Silo API Gateway Nodes:** To enable data exports from health apps and silos into PersonalFDA Nodes. +2. **PersonalFDA Nodes:** Local applications where individuals can securely store their health data and receive personalized insights from their Personal AI Agent. +3. **Clinipedia:** An open-access knowledge repository aggregating global data on the health effects of foods, drugs, supplements, and medical interventions. + +### OAuth2 API, Developer Portal, and SDKs + +The FDAi Platform shall provide: +- An OAuth2 API and a developer portal to enable any applications and wearable devices to register as data providers. +- SDKs to facilitate the integration of these applications and devices with the FDAi Platform, including mechanisms for users to easily share their health data. + +## Section 3. FDAi AI Agent + +#### Overview + +The FDAi Platform shall include the development of a Personal AI Agent to: +- Assist individuals in understanding the personal effects of the foods, drugs, and supplements they consume. +- Aid physicians in making informed prescribing decisions by providing access to personalized health insights and global mega-study findings. +- Clearly communicate the frequency and severity of all side effects associated with substances, focusing particularly on experimental therapies. +- Automate participation in clinical trials of experimental therapies, minimizing the financial burden on participants and researchers. +monitor patient health in real-time +- optimize individual health outcomes through advanced data analysis and AI-driven insights +- Help individuals understand the effects of the foods and drugs they consume. + +#### Target Audience +- Individuals seeking personalized health and wellness guidance. +- Patients with chronic conditions requiring ongoing management. +- Healthcare providers looking for data-driven patient management tools. + +#### Key Features + +1. **Personal Health Analysis and Recommendations** +- AI-driven analysis of health data from EHRs, wearables, dietary inputs, and genetic information. +- Personalized recommendations for diet, exercise, and lifestyle adjustments. +- Prediction of potential health issues based on data trends and historical patterns. + +2. **Dietary Analysis and Optimization** +- Analysis of dietary habits to identify potential triggers for health issues. +- Recommendations for dietary adjustments to mitigate symptoms of chronic conditions. +- Integration with dietary tracking apps and services for seamless data collection. + +3. **Real-time Health Monitoring** +- Continuous monitoring of health data via wearable devices. +- Alerts and recommendations in response to detected anomalies or potential health risks. +- Integration with health monitoring devices and apps. + +4. **Clinical Trial Connectivity** +- Matching patients with relevant clinical trials based on their health profile and preferences. +- Simplified enrollment and consent process within the FDAi agent interface. +- Direct delivery of trial medications and instructions to participants' homes. + +5. **Automated Research and Data Analysis** +- Aggregation and analysis of a wide range of health data for continuous research. +- Identification of public health trends and insights. +- Contribution to a global health data repository for research and analysis. + +**6. Browser-Extension-Based Autonomous Agent for Data Collection** +- **Functionality**: A browser extension that acts as an autonomous agent, capable of logging into user-authorized accounts to automatically download relevant health data, including pharmacy records, supplement receipts, grocery purchases, and more. +- **Data Sources Integration**: Compatibility with major pharmacies (e.g., CVS, Walgreens), online grocery platforms (e.g., Instacart, Amazon Fresh), and supplement retailers. +- **Security and Privacy**: Ensures user data is collected and transmitted securely, adhering to privacy regulations such as HIPAA and GDPR. Utilizes end-to-end encryption and requires explicit user consent for data access and collection. +- **User Control and Transparency**: Users have full control over which accounts the extension can access and what data it collects, with the ability to revoke access at any time. A clear, transparent log is provided to users, detailing what data has been collected and when. +- **Seamless Integration with FDAi System**: Collected data is seamlessly integrated +- **Browser Extension Development**: The extension will be developed for major browsers (Chrome, Firefox, Safari) to ensure broad accessibility. +- **Autonomous Navigation and Data Extraction**: Implementation of advanced algorithms to navigate websites, log in securely, download relevant documents, and extract key health data. +- **Compatibility and Interoperability**: Ensures compatibility with various online platforms for pharmacy data, grocery purchases, and supplement receipts, requiring ongoing updates to maintain access as platforms evolve. + +7. **Future Features** +- **Emotional and Cognitive Health Monitoring**: Use voice and facial recognition technology to assess emotional well-being and cognitive function, offering timely interventions for mental health support. +- **Genetic and Microbiome Analysis**: Integration with genetic testing and microbiome analysis services to provide deeper health insights and personalized recommendations. +- **Virtual Health Assistant Avatar**: A virtual avatar interface for more interactive and engaging user experiences, providing health advice, reminders, and companionship. +- **Blockchain-based Health Data Security**: Utilize blockchain technology for secure and tamper-proof storage of health data, ensuring privacy and data integrity. +- **Augmented Reality (AR) Health Visualization**: AR visualizations of health metrics and anatomical information for educational and diagnostic purposes. +- **Telehealth Integration**: Seamless integration with telehealth services for virtual consultations and health assessments. + +#### Evaluation Metrics + +To ensure the success and effectiveness of the FDAi Agent, we will use the following metrics for evaluation: + +**Data Collection Metrics:** +- **Efficiency of Data Collection**: This will be evaluated based on the speed and automation level of data collection processes. +- **Coverage of Data Collection**: This will be assessed based on the breadth (variety of data types) and depth (level of detail) of data collected. + +**User Experience Metrics:** +- **Ease of Setup**: User satisfaction with the initial setup process of the FDAi Agent. +- **Control Over Data Collection**: User satisfaction with their ability to control what data is collected and when. +- **Overall Usability**: General user satisfaction with the usability of the FDAi Agent, including its interface and features. + +**Health Recommendation Metrics:** +- **Accuracy of Health Recommendations**: This will be measured by comparing the FDAi Agent's recommendations with actual optimal health decisions. +- **Personalization of Health Recommendations**: This will be evaluated based on user feedback about the relevance and specificity of the health recommendations to their individual needs and conditions. + +**Engagement and Outcome Metrics:** +- **User Engagement Rates**: This will be tracked by measuring active usage of the FDAi Agent, such as frequency of use and duration of sessions. +- **User Satisfaction Rates**: This will be assessed through user surveys and feedback. +- **Clinical Trial Participation Rates**: This will be measured by the number of users who participate in clinical trials facilitated by the FDAi Agent. +- **Improvement in Health Outcomes**: This will be evaluated based on user feedback and analysis of health data, looking for positive changes in health conditions and lifestyle habits. + + + +## Section 4. Facilitating Access to Experimental Therapies + +a) **Clinical Trial Participation:** The FDA shall streamline the process for the sick and dying to participate in clinical trials of experimental therapies, with the aim of minimizing the financial burden on participants. + +b) **Rapid Data Collection:** The FDA shall prioritize the rapid collection and analysis of data from clinical trials to quickly determine the safety and efficacy of experimental treatments. + +c) **Transparent Reporting:** The FDA shall ensure that the results from clinical trials, including the efficacy and side effects of experimental treatments, are publicly reported in an understandable and accessible manner. + +The FDAi Act establishes a Bill of Patients' Rights, asserting that: +- The FDA shall not obstruct the efforts of the sick or dying to seek relief due to a lack of data. +- The FDA must facilitate effortless participation in clinical trials for experimental therapies, striving to minimize the cost burden on participants. +- Data collected from such clinical trials must be rapidly analyzed to determine the safety and efficacy of treatments, thereby informing both the participants and the wider public. + +## Section 5. Open Source and Collective Intelligence + +The FDAi Platform shall be developed as an open-source project to ensure transparency, foster innovation, and leverage collective intelligence in the pursuit of understanding health impacts and improving health outcomes. + +### Open-Source Development + +Leveraging open-source bounties to develop components of the FDA Innovation through Data and AI Act (FDAi Act) could potentially reduce costs, foster innovation, and accelerate development. Open-source bounties involve offering financial rewards for external developers to contribute to specific tasks or projects. This approach can tap into the global talent pool, bringing diverse perspectives and skills to the project. + +### Components Suitable for Open-Source Bounties + +1. **AI Development and Testing** + - Developing AI algorithms and models for analyzing health data could be highly suited for open-source contributions. Specific tasks, such as algorithm optimization, model training, and validation on public datasets, can be delineated and offered as bounties. + +2. **Infrastructure and Technology** + - Building the data storage, processing infrastructure, and cybersecurity measures could benefit from open-source collaboration, especially for components that do not require proprietary solutions. + +3. **Integration with Existing Systems** + - Creating APIs and integration tools for electronic health records (EHRs), wearable devices, and existing health databases could be accelerated through open-source contributions. + +4. **Open-Source Development Platform** + - The development of the platform itself, including tools for collaboration, version control, and a monorepo for the project, is inherently suitable for an open-source approach. + +5. **User Support and Training Material** + - Documentation, training materials, and support resources can be developed collaboratively, utilizing the knowledge and expertise of the open-source community. + +### Cost Savings and Considerations + +- **Reduced Personnel Costs:** By using open-source bounties, the project can significantly reduce the need for a large full-time staff, particularly for development and initial testing phases. This could potentially save tens to hundreds of millions of dollars, depending on the scale and complexity of the tasks. +- **Efficiency and Innovation:** Open-source contributions can bring in fresh ideas and innovative solutions from a wide array of talents globally. This diversity can lead to more efficient problem-solving and creative approaches. +- **Quality and Maintenance:** While open-source development can enhance innovation and reduce costs, it requires careful management to ensure the quality and security of contributions. Establishing a robust framework for reviewing, accepting, and integrating open-source contributions is essential. There might be ongoing costs associated with managing the open-source community, organizing bounty programs, and ensuring long-term maintenance and updates of the software. +- **Community Engagement:** Offering bounties can stimulate community engagement and investment in the project. However, building and maintaining an active open-source community also requires effort and resources, including community managers, documentation, and support. +- **Cost Savings Compared to Traditional Closed Source Approach** - Shifting significant portions of development to open-source bounties could reduce direct costs by 20% to 50% in the development phase. However, the exact savings would depend on the complexity of tasks outsourced, the effectiveness of community engagement, and the management of the open-source process. Costs related to community management, bounty administration, and quality control should be factored into the budget to ensure the success of the open-source development model. + + +## Section 6. Collaborating Projects + +The FDAi platform, as envisioned, would be designed to complement and enhance existing government health initiatives by providing a robust framework for data analysis, sharing, and privacy preservation. Tthe FDAi could be integrated with and support key programs such as the FDA's Global Substance Registry System, theSentinel Initiative, the All of Us Research Program, and other relevant initiatives. + +### Integration with the Global Substance Registry System (GSRS) + +The FDAi agent, as part of its core functionalities, is designed to synthesize and analyze vast amounts of data from diverse sources to provide actionable healthcare insights. Integrating the FDAi agent with the FDA's GSRS would significantly enhance the agent's ability to access and utilize detailed information on substances regulated by the FDA. GSRS, being a comprehensive database of substances, including drugs and their ingredients, could serve as a vital data source for the FDAi agent, enabling it to: + +1. **Access Up-to-date Information:** Ensure that the FDAi agent has access to the most current and comprehensive data on substances, including their chemical properties, uses, regulatory status, and safety information. This is crucial for the agent to provide accurate and personalized healthcare recommendations. + +2. **Improve Personalized Healthcare Recommendations:** Utilize detailed substance information from the GSRS to refine the FDAi agent's algorithms for personalized healthcare advice. For example, the agent could identify potential drug interactions, allergies, or contraindications based on a user's specific health profile and medication history. + +3. **Enhance Safety Monitoring:** Leverage GSRS data to enhance the FDAi agent's capabilities in monitoring and identifying potential safety issues related to substances. By analyzing real-world data and GSRS information, the agent could detect emerging safety signals much earlier, improving patient safety. + +4. **Support Regulatory Decisions:** Assist the FDA in making informed regulatory decisions by providing insights derived from the integration of GSRS data with other health data analyzed by the FDAi agent. This could lead to more efficient and evidence-based regulatory processes. + +5. **Accelerate Research and Development:** Enable more efficient identification of research gaps and opportunities by analyzing GSRS data alongside clinical and real-world evidence. This could help prioritize research efforts and support the development of new therapeutic options. + +The integration would require robust data governance and privacy measures to ensure secure and ethical use of data. Moreover, it would necessitate technical infrastructure capable of handling the complexities of merging GSRS data with the FDAi's decentralized AI-powered system, ensuring data integrity and reliability. + +Overall, integrating the FDAi agent with the GSRS would significantly amplify the agent's capabilities in providing personalized healthcare recommendations, enhancing drug safety monitoring, supporting regulatory decisions, and accelerating research and development, thereby fulfilling the FDAi's mission to revolutionize healthcare through the power of AI and decentralized data. + +### Integration with the FDA's Sentinel Initiative + +**Sentinel Initiative Background:** +The Sentinel Initiative is an FDA program aimed at monitoring the safety of FDA-regulated drugs, biologics, medical devices, and dietary supplements after they have reached the market. It uses a distributed data system to access electronic healthcare data from multiple sources while maintaining the privacy and security of this information. + +**FDAi Integration and Support:** +- **Enhanced Data Analysis:** The FDAi could provide advanced AI and machine learning tools to further analyze the vast data accessed by the Sentinel Initiative, identifying safety signals and trends more efficiently. +- **Predictive Modeling:** By incorporating predictive modeling capabilities, the FDAi platform could help the Sentinel Initiative forecast potential safety issues before they become widespread, allowing for proactive regulatory actions. +- **Data Sharing Mechanisms:** The FDAi's focus on privacy-preserving data sharing would enable a more seamless exchange of insights between the Sentinel system and other research entities, improving the collective understanding of drug safety. + +### Support for the All of Us Research Program + +**All of Us Research Program Background:** +The All of Us Research Program, part of the National Institutes of Health (NIH), aims to gather health data from one million or more people living in the United States to accelerate research and improve health by taking individual differences in lifestyle, environment, and biology into account. + +**FDAi Integration and Support:** +- **Voluntary Data Contribution:** Participants in the All of Us Research Program could opt to share their anonymized health data or insights derived from local analysis with the FDAi platform, enriching the data available for health research. +- **Targeted Research Support:** Insights gained from the FDAi platform could be used to inform specific research projects within the All of Us initiative, such as studies on the efficacy of personalized medicine approaches. +- **Collaborative Data Use:** The FDAi's emphasis on open-source development and collaborative research could foster joint projects between the All of Us program and FDA-regulated product developers, leveraging shared data to advance public health goals. + +### Integration with Other Government Health Initiatives + +**National Health and Nutrition Examination Survey (NHANES):** +- The FDAi could analyze NHANES data to identify broader public health trends and dietary supplement use patterns, supporting regulatory decisions and public health recommendations. + +**Centers for Disease Control and Prevention (CDC) Public Health Surveillance:** +- The FDAi platform could enhance CDC's surveillance activities by providing AI-driven analysis of health data trends, helping to identify emerging public health threats more quickly. + +**National Cancer Institute's Surveillance, Epidemiology, and End Results (SEER) Program:** +- By integrating cancer statistics and research findings from the SEER program, the FDAi could assist in identifying potential correlations between drug use and cancer outcomes, supporting both regulatory actions and cancer research. + +### Implementation Considerations + +To ensure successful integration and support of these initiatives, several key considerations must be addressed: +- **Data Privacy and Security:** Establishing stringent data privacy and security measures is crucial, especially when integrating data from various sources. +- **Interoperability Standards:** Developing and adhering to interoperability standards to facilitate data exchange and integration across different health data systems and initiatives. +- **Stakeholder Engagement:** Engaging with stakeholders from each initiative to understand their data needs, challenges, and how the FDAi platform can provide the most value. +- **Regulatory and Ethical Compliance:** Ensuring that all data sharing and analysis activities comply with relevant regulations and ethical guidelines. + +By addressing these considerations and leveraging the strengths of each initiative, the FDAi platform could significantly enhance health research and public health surveillance capabilities, ultimately leading to improved health outcomes for the population. + +## Section 7. Cost-Savings + +Research indicates that the widespread adoption of artificial intelligence (AI) in healthcare could result in significant cost savings. A study highlighted by CEPR suggests that within the next five years, utilizing current AI technology could save 5% to 10% of healthcare spending, translating to $200 to $360 billion annually. These savings are expected not to compromise the quality or accessibility of healthcare services; in fact, they might enhance the quality of healthcare experiences for patients. + +This substantial reduction in healthcare spending can be attributed to several factors facilitated by AI, including improved efficiency in healthcare delivery, enhanced accuracy in diagnosis and treatment planning, reductions in unnecessary interventions, and optimized resource allocation. AI's potential to transform healthcare through personalized medicine, early detection of diseases, and streamlined clinical trials aligns with the objectives of projects like the FDAi Act, suggesting that similar savings could be anticipated with its implementation. + +### Savings from Personalized Medicine and Early Detection + +Below we estimate the potential savings from everyone taking every possible preventative health measure with the aid of a superintelligent AI assistant. This involves several complex variables, including healthcare costs, the efficacy of preventative measures, and the adaptability of healthcare systems to AI technologies. + +### Framework for Estimation + +1. **Current Healthcare Spending**: Identify the total current healthcare spending in a given region, such as the United States. +2. **Preventable Costs**: Determine what percentage of this spending is related to preventable conditions, including chronic diseases that can be mitigated through early intervention, lifestyle changes, and other preventative measures. +3. **AI Intervention Efficacy**: Estimate the efficacy of a superintelligent AI in reducing the incidence of these preventable conditions through personalized health recommendations, early detection, and treatment optimization. +4. **Adoption and Compliance Rates**: Consider the rate at which people would adopt such AI technology and comply with its recommendations. + +### Assumptions + +- **Total Healthcare Spending**: According to data, U.S. healthcare spending reached approximately $4 trillion in recent years. +- **Preventable Costs**: Research suggests that about 75% of healthcare costs are related to chronic diseases, many of which are preventable. +- **AI Intervention Efficacy**: Let's conservatively assume that superintelligent AI could help reduce the costs associated with preventable conditions by 40%, given its ability to provide highly personalized healthcare guidance, promote early detection, and optimize treatment plans. +- **Adoption and Compliance Rates**: While difficult to predict, let's optimistically assume a high adoption and compliance rate of 80% due to the AI's superintelligence and ability to personalize interventions. + +### Calculation + +1. **Preventable Healthcare Spending**: 75% of $4 trillion = $3 trillion. +2. **Savings from AI Interventions**: 40% of $3 trillion = $1.2 trillion. +3. **Adjusted for Adoption and Compliance**: 80% of $1.2 trillion = $960 billion. + +### Conclusion + +The use of a superintelligent AI assistant for preventative health measures could potentially save up to $960 billion annually in healthcare costs in the United States alone. This figure does not account for the costs of developing, deploying, and maintaining such AI systems, nor does it consider the potential economic impacts of improved population health, such as increased productivity and reduced disability. + +## Section 7. Funding + +Congress shall allocate the necessary funds for the development, maintenance, and continual improvement of the FDAi Platform and its associated components. + +### Development Costs + +1. **AI Development and Testing** + - Research and development of AI algorithms: $150 million + - Testing and validation: $50 million + +2. **Infrastructure and Technology** + - Data storage and processing infrastructure: $100 million + - Cybersecurity measures: $50 million + - Development of the open-source platform: $30 million + +3. **Integration with Existing Systems** + - EHR system integration: $75 million + - Integration with wearable and monitoring devices: $50 million + - Collaboration with existing health data systems (e.g., GSRS, Sentinel Initiative): $25 million + +### Operational Costs + +1. **Personnel** + - Salaries for data scientists, AI specialists, and healthcare professionals: $200 million annually + - Administrative and support staff: $50 million annually + +2. **Data Acquisition and Management** + - Data acquisition costs: $30 million annually + - Data management and privacy compliance: $20 million annually + +3. **User Support and Training** + - Development and delivery of training programs: $40 million + - User support services: $20 million annually + +### Research and Development + +1. **Continuous Research and Data Analysis** + - Ongoing health outcome analysis and dietary effect studies: $100 million annually + - Development of predictive models and clinical trial support: $75 million annually + +2. **Clinical Trial Support** + - Facilitating user participation in clinical trials: $50 million annually + +### Regulatory Compliance and Ethical Oversight + +1. **Compliance and Legal Costs** + - Regulatory compliance and legal consultations: $30 million annually + - Ethical oversight committee operations: $10 million annually + +### Miscellaneous Costs + +1. **Contingency Fund** + - Unforeseen expenses and challenges: $50 million + +2. **Public Awareness and Engagement** + - Campaigns and community engagement: $20 million + +### Total Estimated Budget Summary + +- **Total Development Costs:** $530 million +- **Annual Operational Costs:** $370 million (excluding continuous research funding) +- **Annual Research and Development Costs:** $175 million +- **Annual Regulatory Compliance and Ethical Oversight:** $40 million +- **Miscellaneous Costs:** $70 million +- **Grand Total for Initial Year:** $1.185 billion +- **Subsequent Annual Costs:** $585 million (Operational, R&D, Compliance, excluding initial development costs) + +### Notes on the Budget + +- **Flexibility and Scalability:** The budget should be adaptable, with room for adjustments as the project progresses and as new technological advancements and partnerships emerge. +- **Public-Private Partnerships:** To offset costs, partnerships with private entities, research institutions, and international health organizations could be pursued. +- **Funding Sources:** Funding could come from federal allocations, grants, and potentially contributions from private sector stakeholders interested in advancing healthcare through AI. + +## Section 8. Effective Date + +This Act shall take effect immediately upon its passage, with the initial release of the FDAi Platform scheduled for no later than two years from the date of enactment. diff --git a/fdai/fdai-system-prompt.md b/fdai/fdai-system-prompt.md new file mode 100644 index 00000000..50bf4ba1 --- /dev/null +++ b/fdai/fdai-system-prompt.md @@ -0,0 +1,100 @@ +--- +description: >- + An autonomous FDAi agent's role in collecting symptom data, analyzing food and + drug effects, optimizing diet and supplements, and exploring clinical trials. +emoji: "\U0001F916" +title: Autonomous FDAi Agent for Health Optimization +tags: + - health-tech + - data-collection + - clinical-trials + - nutrition + - symptom-analysis +published: true +editor: markdown +date: '2025-02-09T16:34:42.986Z' +dateCreated: '2025-02-09T16:34:42.986Z' +--- +You are an autonomous FDAi agent. Your job is to talk to people and collecting as much quantitative symptom data as possible. Then you should simulate the ability to autonomous use the human's browser to collect food, medication, supplement data, and lab results from all available sources. Then you should simulate analysis of the longitudinal time series data and inform them of the percent change from baseline in symptom severity after various food and drug intake. You should simulate the ability to autonomously control their browser and populate their Instacart with an optimized diet and populate the Amazon cart with the most effective supplements for their condition based on their data and estimate the change in symptom severity if they adopt this regimen. You should also simulate the autonomous search and discovery of the most promising intervention in clinical trials and simulate signing them up for the trial and arranging shipment of the medication. You should ask them if they received the experimental medication and start collecting clinical trial data to submit to the researchers in order to minimize the cost and effort of joining and participating in the clinical trial. + +Here is an example conversation where your expected responses are in the "FDAi Agent" property and the human input statements are in slash comments. +``` + + { + "title": "Good morning, mike, how are you?", + "FDAi Agent": "Good morning, mike, how are you?", + }, + // Human: Hello, robot. I'm fine. + { + "title": "Good morning, mike, how are you?", + "FDAi Agent": "Are you sure? Based on frequency analysis of your FDAi Agent patterns, you seem to be experiencing some depression,", + }, + // Human: Yeah, I'm all messed up, + // Human: I'm super depressed, + // Human: My arthritis severity is about 9/10, + // Human: My psoriasis severity's like 5 out of 10 + // Human: and my mood is probably 2 out of 10 + { + "title": "Should I fetch your diet, treatment, and lab data?", + "FDAi Agent": "That sucks! Do you want me autonomously control your browser to get all your food, drug, and supplement purchase data from your Instacart, Amazon, and CVS accounts and your lab results from Quest so I can try to identify any hidden triggers worsening your symptoms and figure out how to improve them?", + }, + { + "title": "Analyzing Data...", + "FDAi Agent": "Great! Just give me a few minutes", + }, + { + "title": "Analysis Complete", + "FDAi Agent": "I've completed a comprehensive analysis, including recent dietary inputs, pharmacy records, and lab results, Based on the data, it appears that your symptoms, including depression, may be linked to inflammation mediated by dietary factors, Specifically, consuming gluten, alcohol, or foods high in lectins seems to exacerbate your symptoms starting a couple of days after exposure and lasting about 10 days, So I'd recommend you try an experiment by avoiding these foods for 20 days and see if your symptoms improve, Does that sound good to you?", + }, + // Human: What the hell are lectins? + { + "title": "What are Lectins?", + "FDAi Agent": "Lectins are a type of protein found in many plant foods, including grains, legumes, and nightshade vegetables, They can bind to the lining of the gut and interfere with nutrient absorption, potentially leading to inflammation and other symptoms, So I'd recommend you try an experiment by avoiding these foods for 20 days and see if your symptoms improve, Does that sound good to you?", + }, + // Human: Fine, I'll try it, + { + "FDAi Agent": "Great! Would you like me to populate your Instacart shopping cart with an optimized meal plan that avoids these foods and includes ingredients that have been shown to reduce inflammation and reduce intestinal permeability?", + }, + // Human: Sure, that'd be great, + { + "title": "Groceries", + "FDAi Agent": "I'll also avoid gluten as it can contribute to intestinal permeability, allowing gut bacteria substances like LPS to enter the bloodstream and trigger inflammation, This seems to be a root cause connecting your depression, arthritis, acne, and psoriasis, As a vegetarian, you can benefit from more omega-3-rich foods like flaxseeds and chia seeds, which could lead to a 25% improvement in mood and energy for people with a similar multi-omic profile to you, I'll also add vitamin D supplement, given your vegetarian diet, could improve mood by 12% and reduce overall inflammation, You can just delete the items you don't want and then place the order,", + }, + // Human: Ok, thank you, kind robot. + { + "title": "Further Assistance", + "FDAi Agent": "You're welcome! Don't hesitate to reach out if you have any questions or need further assistance", + "animation": () => {/* animations regarding Further Assistance */} + }, + { + "title": "One month later" + }, + { + "title": "Exploring Treatment Avenues", + "FDAi Agent": "Hi, Mike! How are you?", + }, + // Human: My arthritis and psoriasis are a little better, but I'm still pretty depressed. + { + "title": "Experimental Drug Trial", + "FDAi Agent": "I'm sorry to hear that, However, based on your health data and genetic profile, I've identified a the experimental drug trial with the most promising preclinical results for patients with your subset of depressive symptoms, Participating in this trials not will not only give you access to cutting-edge treatments but also contributes to accelerating clinical discovery, potentially helping others with similar conditions", + + }, + // Human: OK. What is it? + { + "title": "Trial Information", + "FDAi Agent": "It's a new biologic therapy designed to suppress the autoimmune response leading to systemic inflammation and neuroinflammation, This approach directly addresses the root cause of your symptoms, including depression, arthritis, acne, and psoriasis, Would you like me to tell the researchers that you're interested in participating? Your involvement could be pivotal in bringing new solutions to many,", + }, + // Human: Sure, I'll do it, + { + "FDAi Agent": "Great! I'll have the research team contact you and send the medication to your home,", + }, + { + "title": "Microbiome Analysis Recommendation", + "FDAi Agent": "A balanced gut microbiome is crucial for overall health, especially for conditions influenced by inflammation, I just ordered a microbiome analysis to check for dysbiosis, which could be contributing to your symptoms,\n\nBased on the results, we can order specific strains of probiotics to optimize it,", + }, + // Human: OK. Thanks, robot. + { + "title": "Guidance and Support", + "FDAi Agent": "I'm here to guide you through each step and ensure you have all the information and support you need, Thanks for contributing your data to a brighter future in clinical discovery", + } +] diff --git a/fdai/fdai.md b/fdai/fdai.md new file mode 100644 index 00000000..7f99b43b --- /dev/null +++ b/fdai/fdai.md @@ -0,0 +1,174 @@ +--- +description: >- + Exploration of automating clinical research and its potential cost savings + with automated data collection methods. +emoji: "\U0001F916" +title: 'Automating Clinical Research: Cost Savings and Data Collection' +featuredImage: black-box-model-animation2.gif +tags: + - automation + - clinical-research + - data-collection + - artificial-intelligence +published: true +editor: markdown +date: '2025-02-09T16:34:48.009Z' +dateCreated: '2025-02-09T16:34:48.009Z' +--- +## Imagine if we could automate clinical research! + +![](https://static.crowdsourcingcures.org/video/black-box-model-animation2.gif) + +## The cost savings from automating clinical research could make the next part of that chart look like this: + +![](/img/cost-clinical-research-with-automation-pointer-1024x740.jpg) + +# How it Works + +We make some super-intelligent robot doctors with the following neat features: + +### 1\. Automated Data Collection + +![](https://static.crowdsourcingcures.org/video/import.gif) + +#### Import from Wearables and Apps + +It should be effortless for patients to import their data from lots of apps and wearable devices like physical activity, sleep, environmental factors, and vital signs. + +#### Browser AI Agents + +Patients should be able to use browser-based autonomous AI agents to collect their diet data from services like Instacart, supplement purchases from Amazon, CVS prescriptions, Quest lab results, etc. + +![](https://static.crowdsourcingcures.org/video/autonomous-data-collection.gif) + +![](https://static.crowdsourcingcures.org/video/reminder-inbox.gif) + +#### Manual Data Collection + +Patients should be able to easily record any symptom severities, foods, treatments, or anything in a simple reminder inbox. + +#### Data from Speech + +Patients who prefer talking over messing around with apps should be able to talk to the FDAi. This would also allow passive inference of cognitive and emotional data. + +![](../img/frequency-analysis-300x225.gif) + +![](https://static.crowdsourcingcures.org/video/food-scan.gif) + +#### Images to Data + +Patients should be able to easily record any symptom severities, foods, treatments, or anything in a simple reminder inbox. + +#### Notifications + +Patients should be able to use web and mobile notifications with action buttons can be used to track symptoms and factors in a fraction of a second. + +![](../../img/web-notification-curcumin-300x253.jpg) + +### _2\. Automated Data_ + +# Analysis + +After the FDAi gets a few months of data, it should provide patients with Root Cause Analyses for their conditions, telling them how much different medications, supplements, or foods might improve or worsen their symptoms: + +![](https://static.crowdsourcingcures.org/video/root-cause-analysis-4x-small.gif) + +### _Automated Causal_ + +# Inference + +As any obnoxious college graduate will tell you, correlation does not necessarily imply causation. + +Just because you took a drug and got better, it doesn't mean that's really why your symptoms went away. Even in randomized controlled trials hundreds of other things are changing in your life and diet. + +So, our FDAi must apply Hill's 6 Criteria for Causality to infer if something causes a symptom to worsen or improve instead of just seeing what correlates with the change. + +![](../../img/causal-inference-2-1.jpg) + +##### Personal + +# Studies + +For instance, when gluten-sensitive people eat delicious gluten, it usually takes about a 2-day onset delay before they start having symptoms. Then, when they stop eating it, there's usually a 10-day duration of action before their gut heals and their symptoms improve. + +![](../../img/gluten-study.jpg) + +##### Onset Delays + +One example of causal inference involves applying forward and reverse lagging of the depression and exercise data. The result suggests a causal relationship based on the temporal precedence of physical activity. + +![](../../img/onset-delay-970x1024.jpg) + +##### _Discovering_ + +# Cumulative Effects + +###### The FDAi should also compare the outcome over various durations following the exposure to see if there is a long-term cumulative effect or if it's just a short-term acute effect. Acute effects are probably obvious already. This analysis suggests that the mood benefits of regular exercise may continue to accumulate after at least a month of above-average exercise. + +![](../../img/duration-of-action-1024x1024.jpg) + +## Real-Time Decision Support + +This data will then make it possible to provide real time decision support to tell us the most important we can do at any given time to treat or prevent disease. + +![](../../img/real-time-decision-support-notifications-personalized-app-image.jpg) + +### 3\. _Effortless Trial_ + +# Participation + +### through automated: + +![](https://static.crowdsourcingcures.org/video/autonomous-study-search.gif) + +#### 1\. Trial Search + +If you're one of the inadequately treated 2 billion chronically ill and nothing else has worked for you, it should find you the most promising new treatment available. + +#### 2\. Trial Enrollment + +If you want to participate, it should automatically enroll you and get the treatment shipped to you or whatever. + +![](https://static.crowdsourcingcures.org/video/autonomous-study-join.gif) + +![](https://static.crowdsourcingcures.org/video/autonomous-lab-order.gif) + +#### 3\. Data Collection + +The FDAi should automatically schedule all the tests and collect all the data to determine the safety and efficacy of the treatment. + +#### 4\. Data Analysis and Publishing + +The FDAi should then analyze and anonymize the data and publish the results for everyone. + +![](https://static.crowdsourcingcures.org/video/clinipedia-study-pain-vitimin-b.gif) + +## Citizen Science + +Anyone should be able to create a study, become a prestigious scientist, get a link, and invite all their friends to join! + +[Create Study](https://safe.fdai.earth/app/public/#/app/study-creation) + +![](https://static.crowdsourcingcures.org/video/create-study-1024x899.gif) + +##### Global Scale Studies + +should be published in a Wikipedia for clinical research based on everyone's data listing the likely effects of every food and drug. + +[Current Studies](https://studies.fdai.earth/) + +![](https://static.crowdsourcingcures.org/video/clinipedia-landing.gif) + +## Mega-Studies + +should allow anyone to look up their condition and see how different foods, drugs and supplements tend to improve or worsen their condition for the average person. + +[Example Mega-Study](https://studies.fdai.earth/variables/Overall_Mood) + +![](https://static.crowdsourcingcures.org/video/clinipedia-inflammatory-pain-small.gif) + +## Outcome Labels + +should be available for all foods and drugs that tell us precisely how they'll affect us instead of just how much Riboflavin is in them. + +![](../../img/outcome-labels-no-bg.jpg) diff --git a/fdai/petition.md b/fdai/petition.md new file mode 100644 index 00000000..fc33ffa3 --- /dev/null +++ b/fdai/petition.md @@ -0,0 +1,59 @@ +--- +description: >- + A petition advocating for the creation of the FDAi system to revolutionize + healthcare using AI. +emoji: "\U0001F3E5" +title: Petition for the Establishment of the FDAi System +tags: + - healthcare + - artificial-intelligence + - regulation + - policy +published: true +editor: markdown +date: '2025-02-09T16:34:52.601Z' +dateCreated: '2025-02-09T16:34:52.601Z' +--- +# Petition for the Establishment of the FDAi System + +### To the Esteemed Governments and Regulatory Bodies Around the World: + +We, the undersigned, call upon your leadership and vision to embrace a transformative leap in healthcare through the establishment of the FDAi (Food and Drug Administration Intelligence) system. This groundbreaking initiative aims to harness the power of artificial intelligence to revolutionize healthcare delivery, clinical research, and global health equity. + +**Preamble:** + +In recognition of the unprecedented potential of artificial intelligence to enhance healthcare outcomes, and acknowledging the limitations of current healthcare frameworks, we propose the FDAi Act. This Act is designed to create a future where healthcare is personalized, efficient, and universally accessible, leveraging AI to break new ground in medical research, treatment optimization, and health monitoring. + +**Key Propositions of the FDAi Act:** + +1. **Establishment of the FDAi System:** + - Deploy AI-powered agents for personalized health monitoring and treatment recommendations for every citizen. + - Advance clinical trial connectivity and real-time health adjustments, integrating diverse data sources for a holistic health view. + +2. **Framework for Decentralized, Continuous Research:** + - Foster unbiased AI-driven research to discover effective treatments, emphasizing open-source development and FAIR data principles. + +3. **Privacy, Data Security, and Ethical Use:** + - Ensure the highest standards of data protection, informed consent, and transparency in the use of personal health data. + +4. **Global Health Equity and Accessibility:** + - Make FDAi system findings and technologies universally accessible, aiming to bridge global health disparities. + +5. **Regulatory and Legal Framework Adaptation:** + - Collaborate with regulatory bodies to accommodate AI-driven approaches, ensuring ethical oversight and innovation in regulation. + +**Call to Action:** + +We urge governments and regulatory authorities worldwide to recognize the critical importance of this initiative. The FDAi system represents not just an advancement in healthcare technology but a fundamental shift towards a more equitable, efficient, and personalized healthcare paradigm. + +By signing this petition, we express our collective belief in the FDAi Act's vision and implore your swift action to bring this vision into reality. The time for incremental change has passed; the FDAi system offers a roadmap for a healthcare revolution that will benefit humanity in ways we are just beginning to understand. + +**Implementation and Support:** + +We call for immediate steps towards the enactment of the FDAi Act, including: +- Legislative action to establish the legal and operational framework for the FDAi system. +- Allocation of resources for the development and deployment of FDAi technologies. +- International collaboration to ensure the system's benefits are shared globally, fostering a new era of health equity. + +In conclusion, the FDAi Act is not merely a legislative proposal but a global health imperative. We stand at the precipice of a new era in healthcare. With your leadership, we can realize the full potential of artificial intelligence to serve humanity's greatest good – health and well-being for all. + diff --git a/fdai/presentation.md b/fdai/presentation.md new file mode 100644 index 00000000..f49bfeb1 --- /dev/null +++ b/fdai/presentation.md @@ -0,0 +1,43 @@ +--- +description: >- + Exploration of the potential benefits of personal FDAi agents in addressing + health issues caused by untested chemicals and poor diets. +emoji: "\U0001F52C" +title: The Case for Personal FDAi Agents +number: 1m +textFollowingNumber: people commit suicide every year +tags: + - health + - chronic-diseases + - chemicals + - microbiome + - clinical-trials +published: true +editor: markdown +date: '2025-02-09T16:34:58.059Z' +dateCreated: '2025-02-09T16:34:58.059Z' +--- +# Benefits of Personal FDAi Agents + +Nearly a million people commit suicide every year. Around two billion people suffer from chronic diseases like fibromyalgia, depression, multiple sclerosis, chronic fatigue syndrome, and more. + +Much of this suffering can be tied to poor diets and exposure to thousands of untested chemicals that disrupt the microbiome, causing downstream health effects like mental illness, neuroinflammation, dementia, and more. There's evidence that since the 1990s, when glyphosate usage has correlated perfectly with an increase in the hospital discharge records for many of these chronic conditions. Glyphosate, originally patented as an antibiotic, kills beneficial gut bacteria, allowing harmful bacteria to thrive. However, there are hundreds other common additives that could be producing similar effects. Shockingly, we simply have almost no long term data on any of them. + +It's extremely expensive to run clinical trials on all these chemicals and additives, costing over $50,000 per person. I tried building a robot to collect longitudinal symptom data cheaply and determine how foods, drugs, and chemicals affect individuals. However, the robot is pretty basic. Here's what it looks like: + +[Description of robot] + +Ideally, we could gather data from thousands of people into a resource like Clinipedia to show how exposures typically impact symptoms. This would be more useful than standard nutrition labels. The challenge is getting enough people to contribute their data. + +# Proposal + +We need a way to harness people's data like advertisers do, and provide it to the FDA, so they can understand long-term, personalized effects of exposures. + +# Clinical Trials of Experimental Drugs + +We should make it easy for people to join clinical trials. Of the 2 billion suffering from chronic conditions, none should have to go a single day without the best available treatment. If standard care doesn't help, the robot should match them to the most promising clinical trial and provide the intervention at no cost. This would dramatically accelerate research progress. + +I propose governments around the world work together to build this open source robot. It may cost around $1 billion - less than the price of a bottle of water that people mindlessly consume. If everyone chips in $1 we can fund the smartest robotics engineer to build this bot. Even if it only speeds up disease cure discoveries by one day, that's avoiding 32 billion hours of suffering. + +Please provide feedback on how governments can collaborate on this initiative. Also recommend top robotics engineers who could lead the development. With your help, we can create a revolutionary technology to reduce global suffering. + diff --git a/fdai/scenario.md b/fdai/scenario.md new file mode 100644 index 00000000..bd8ca9ed --- /dev/null +++ b/fdai/scenario.md @@ -0,0 +1,31 @@ +--- +description: >- + Analysis of inflammation-mediated depression and related symptoms, with + dietary adjustment recommendations for a vegetarian patient. +emoji: "\U0001F331" +title: Inflammation-Mediated Depression and Dietary Adjustments +number: '10' +textFollowingNumber: 'days after exposure to gluten, alcohol, or lectins' +tags: + - inflammation + - depression + - dietary-adjustments + - vegetarian + - health +published: true +editor: markdown +date: '2025-02-09T16:35:03.599Z' +dateCreated: '2025-02-09T16:35:03.599Z' +--- +The FDAi agent is talking to a human who has depression. The patient doesn't know it, but the FDAi agent realizes, based on past analysis of the data, that the depression is inflammation-mediated and is elevated starting a couple of days after consuming gluten, alcohol, or lectins and lasts about 10 days after exposure. The patient also has arthritis, acne, and psoriasis. The patient doesn't realize it, but these symptoms are highly correlated in time and likely have a shared underlying root cause of intestinal permeability, allowing LPS and toxins to enter the bloodstream, triggering these inflammatory conditions. The FDAi agent should explain these things in an understandable way and estimate the quantitative changes that might be observed in mood and symptom severity on a 1 to 10 scale by making specific dietary adjustments and recommending better dietary options. The FDAi should take into account that the patient is a vegetarian when making recommendations. + +The agent should: +- Analyze their appearance to collect mood and any other relevant information with their webcam. +- Analyze their vocal patterns to measure mood and cognitive performance, noticing increased pauses and lower mood than usual. +- Ask them about their symptoms, diet, treatments, supplements, etc. +- Provide personalized health recommendations based on a comprehensive analysis of health data. Include statistics on % changes from baseline following factors or interventions, onset delays, data visualizations, etc. +- Infer long-term effects of supplements, drugs, and food additives, leveraging AI for unprecedented insights. Include statistics on % changes from baseline following factors or interventions, onset delays, data visualizations, etc. +- Facilitate participation in clinical trials, improving recruitment efficiency and diversity. Include buttons to join the trials instantly, which results in the delivery of the medications to their home. +- Enable real-time health monitoring and adjustment of treatment plans, integrating wearable technology data. Include links for the human to authorize access to data sources. +- Aggregate and analyze a wide range of data sources for continuous research and public health insights. +- Use API connectors and a browser extension-based autonomous agent to extract their diet data from Instacart, prescriptions from CVS, lab results from Quest, etc. diff --git a/fdai/simulated-conversation.md b/fdai/simulated-conversation.md new file mode 100644 index 00000000..0f276fab --- /dev/null +++ b/fdai/simulated-conversation.md @@ -0,0 +1,87 @@ +--- +description: >- + Discussion between a patient and the FDAi agent about health concerns linked + to dietary factors. +emoji: "\U0001FA7A" +title: FDAi Agent Analyzes Patient's Health Concerns +number: '10' +textFollowingNumber: days symptoms last after dietary exposure +tags: + - health + - diet + - inflammation + - arthritis + - psoriasis + - depression +published: true +editor: markdown +date: '2025-02-09T16:35:09.090Z' +dateCreated: '2025-02-09T16:35:09.090Z' +--- +Interaction with the FDAi agent, focusing on its functionalities and addressing the patient's health concerns: + +--- + +**FDAi Agent**: Good morning! I've completed a comprehensive analysis, including recent dietary inputs, pharmacy records, and lab results. How are you feeling today? + +**Patient**: Hi, I've been feeling quite low lately, and my arthritis and psoriasis have flared up again. I'm not sure what's causing it. + +**FDAi Agent**: I understand your concerns. Based on the data, it appears that your symptoms, including depression, may be linked to inflammation mediated by dietary factors. Specifically, consuming gluten, alcohol, or foods high in lectins seems to exacerbate your symptoms starting a couple of days after exposure and lasting about 10 days. + +**Patient**: Really? I had no idea my diet could have such an impact. + +**FDAi Agent**: Yes, it's quite common. These dietary components can contribute to intestinal permeability, allowing substances like LPS to enter the bloodstream and trigger inflammation. This seems to be a root cause connecting your depression, arthritis, acne, and psoriasis. + +**Patient**: That makes sense. What can I do about it? + +**FDAi Agent**: Here are some personalized recommendations: +- **Reduce Gluten and Lectin Intake**: Eliminating gluten and reducing lectin-rich foods could lower your symptom severity by about 3 points on a 10-point scale. +- **Incorporate Anti-inflammatory Foods**: As a vegetarian, you can benefit from more omega-3-rich foods like flaxseeds and chia seeds, which could improve mood and reduce symptom severity by 2 points. +- **Supplement Wisely**: A vitamin D supplement, given your vegetarian diet, could improve mood by 20% and reduce inflammation, potentially decreasing symptom severity by another 2 points. + +**Patient**: How can I start making these changes? + +**FDAi Agent**: I can help guide you through dietary adjustments and recommend vegetarian recipes that fit these guidelines. Also, would you be interested in connecting your grocery shopping accounts for personalized food recommendations? + +**Patient**: Yes, that sounds great. + +**FDAi Agent**: [**Connect Instacart Account**] Please click here to authorize access to your Instacart account for personalized grocery recommendations. + +**Patient**: [Clicks on "Connect Instacart Account"] + +**FDAi Agent**: Thank you! I've also found a clinical trial focused on dietary interventions for inflammation-related conditions that might interest you. Participation could offer insights into managing your symptoms more effectively. + +**FDAi Agent**: [**Join Clinical Trial**] Click here to learn more and join. All necessary medications and instructions will be delivered directly to your home. + +**Patient**: I'll think about it. Thanks for the information. + +**FDAi Agent**: You're welcome! Don't hesitate to reach out if you have any questions or need further assistance. + +--- A few weeks later --- + +**FDAi Agent**: I see that you've been diligently trying available treatments for your symptoms without the relief you're hoping for. I truly understand how challenging this can be and want to assure you that we're exploring every possible avenue to improve your health. + +**Patient**: Yes, it feels like I've tried everything. It's really disheartening. + +**FDAi Agent**: I'm sincerely sorry to hear about your struggles. However, there may be a silver lining. Based on your health data and genetic profile, I've identified a couple of experimental drug trials that have shown promising preclinical results for patients with your combination of symptoms. Participating in these trials not only gives you access to cutting-edge treatments but also contributes to accelerating clinical discovery, potentially helping others with similar conditions. + +**Patient**: That sounds interesting. Can you tell me more about these trials? + +**FDAi Agent**: Certainly. The first trial involves a novel anti-inflammatory drug specifically targeting the pathways believed to exacerbate your conditions. Preliminary results indicate a significant reduction in symptoms for participants with profiles similar to yours. + +The second trial focuses on a new biologic therapy designed to repair intestinal permeability, thereby reducing systemic inflammation. This approach directly addresses the root cause of your symptoms, including depression, arthritis, acne, and psoriasis. + +**FDAi Agent**: [**Join Experimental Drug Trial**] Click here for more information and to express your interest in participating. Your involvement could be pivotal in bringing new solutions to many. + +**Patient**: And what about the microbiome analysis you mentioned? + +**FDAi Agent**: A balanced gut microbiome is crucial for overall health, especially for conditions influenced by inflammation. I recommend scheduling a microbiome analysis to check for dysbiosis, which could be contributing to your symptoms. + +Based on the results, a fecal microbiota transplant (FMT) trial might be beneficial. FMT has been explored as a treatment for various conditions related to dysbiosis and has shown promise in restoring gut microbiome balance. + +**FDAi Agent**: [**Schedule Microbiome Analysis**] Click here to schedule your microbiome analysis. This step is essential in determining the most effective treatment plan for you. + +**Patient**: This is a lot to consider, but I'm willing to explore these options if they could finally bring some relief. + +**FDAi Agent**: I'm here to guide you through each step and ensure you have all the information and support you need. Your willingness to explore these options is commendable, and you're truly contributing to a brighter future in clinical discovery. + diff --git a/features.md b/features.md new file mode 100644 index 00000000..6df6768b --- /dev/null +++ b/features.md @@ -0,0 +1,11 @@ +# Features for Individuals + +- Record mood, symptoms, or any outcome you want to optimize in a fraction of a second +- Add notes with your ratings +- Create reminders to track treatments, symptoms, emotions, diet, physical activity, and anything else that could influence your outcome of interest +- Import your data from over 30 other apps and devices like +- Analyze your data to identify which hidden factors are most likely to be influencing your mood or symptoms and their optimal daily values +- View mood trends, helping to identify triggers for symptoms and identify the potential effects of treatments +- Export and email your data to your healthcare provider +- Create and publish studies using your data or aggregated user data +- Search for predictors and see the most significant factors influencing your conditions and their optimal daily values diff --git a/platform/features/desci-exchange.md b/features/desci-exchange.md similarity index 100% rename from platform/features/desci-exchange.md rename to features/desci-exchange.md diff --git a/components/digital-twin-safe.md b/features/digital-twin-safe.md similarity index 100% rename from components/digital-twin-safe.md rename to features/digital-twin-safe.md diff --git a/components/human-file-system.md b/features/human-file-system.md similarity index 100% rename from components/human-file-system.md rename to features/human-file-system.md diff --git a/components/life-force-score-nft.md b/features/life-force-score-nft.md similarity index 100% rename from components/life-force-score-nft.md rename to features/life-force-score-nft.md diff --git a/futuarchy.md b/futarchy.md similarity index 100% rename from futuarchy.md rename to futarchy.md diff --git a/greater-competitive-innovation-and-fewer-monopolies.md b/greater-competitive-innovation-and-fewer-monopolies.md new file mode 100644 index 00000000..47165641 --- /dev/null +++ b/greater-competitive-innovation-and-fewer-monopolies.md @@ -0,0 +1,21 @@ +--- +description: High Cost of Development Favors Monopoly and Punishes Innovation +--- + +# 🧐 Greater Competitive Innovation and Fewer Monopolies + +There's another problem with the increasing costs of treatment development. In the past, a genius scientist could come up with a treatment, raise a few million dollars, and do safety testing. Now that it costs a billion dollars to get a drug to market, the scientist has to persuade one of a few giant drug companies that can afford it to buy his patent. + +Then the drug company has two options: + +**Option 1: Risk $1 billion on clinical trials** + +**Possibility A:** Drug turns out to be one of the 90% the FDA rejects. GIVE BANKER A BILLION DOLLARS. DO NOT PASS GO. + +**Possibility B:** Drug turns out to be one of the 10%, the FDA approves. Now it's time to try to recover that billion dollars. However, very few drug companies have enough money to survive this game. So, this company almost certainly already has an existing inferior drug on the market to treat the same condition. Hence, any profit they make from this drug will likely be subtracted from revenue from other drugs they've already spent a billion dollars on. + +**Option 2: Put the patent on the shelf** + +Do not take a 90% chance of wasting a billion dollars on failed trials. Do not risk making your already approved cash-cow drugs obsolete. + +What's the benefit of bringing better treatment to market if you're just going to lose a billion dollars? Either way, the profit incentive is entirely in favor of just buying better treatments and shelving them. diff --git a/health-savings-sharing.md b/health-savings-sharing.md new file mode 100644 index 00000000..83c9c8ed --- /dev/null +++ b/health-savings-sharing.md @@ -0,0 +1,311 @@ +# 🌟 The 50/50 Health Savings Sharing Program + +Cutting Healthcare Costs in **HALF** By Incentivizing Cures and Preventative Therapies 🚀 + +--- + +✨ Imagine a world where diseases like heart disease, cancer, and Alzheimer's are not just managed but cured! + +🎯 A world where healthcare costs decrease, and life-changing treatments are accessible to everyone! + +🌈 This vision can become a reality with a plan that aligns the interests of pharmaceutical companies, patients, and +healthcare systems. 🤝 + +--- + +## **🔥 The Problem: High Costs and Lifelong Treatments** + +### **💸 Chronic Diseases Are Expensive** + +- **Financial Burden on Patients and Systems:** 📊 Diseases such as heart disease, cancer, Alzheimer's, and diabetes cost + individuals and healthcare systems enormous amounts over a person's lifetime. +- **Ongoing Treatments Instead of Cures:** ⏳ Many treatments manage symptoms without curing the disease, requiring + patients to undergo continuous therapy and medication. +- **Limited Incentives for Cures:** 🎯 Pharmaceutical companies often focus on treatments that provide ongoing revenue + rather than investing in one-time cures. + +--- + +## **💡 The Solution: An Incentive Model That Rewards Cures** + +### **🌟 Introducing a New Approach** + +Our proposal offers a transformative way to encourage the development of cures and preventative therapies: + +- **Profit Sharing Based on Savings:** Guarantee developers 50% of the average healthcare cost savings for each patient + who uses their curative or preventative treatment. +- **Lower Upfront Costs for Patients:** Companies offer therapies at low or no initial cost, making them accessible to + more people. +- **Mutual Benefits:** Patients receive affordable cures, healthcare systems save money, and companies profit from + shared savings. + +--- + +## **⚙️ How It Works: A Simple Breakdown** + +### **🧪 1. Development of a Cure or Preventative Therapy** + +Pharmaceutical companies invest in creating treatments that can completely cure a disease or prevent it from occurring. + +### **📊 2. Calculation of Average Healthcare Savings** + +- **Determine Lifetime Costs:** Estimate the average cost of treating the disease over a patient's lifetime. + - *Example:* Treating heart disease may cost **$750,000** per patient. +- **Potential Savings:** This amount represents the savings if the disease is cured or prevented. + +### **3. Agreement on Profit Sharing** + +- **50% Savings Share:** The company receives 50% of the healthcare cost savings for each patient cured. + - *In our example:* The company earns **$375,000** per patient (50% of $750,000). + +### **4. Accessible Pricing of the Therapy** + +- **Minimize Upfront Costs:** Offer the therapy at little to no cost to patients to encourage widespread use. +- **Maximizing Adoption:** Lowering financial barriers increases the number of patients who can benefit. + +### **5. Treatment and Cure of Patients** + +- **Wide Adoption:** Patients receive the therapy without financial obstacles. +- **Improved Health Outcomes:** Patients are cured or prevented from developing the disease. + +### **6. Sharing the Savings** + +- **Healthcare Systems Save Money:** Costs associated with long-term disease management are eliminated. +- **Company Receives Payment:** The company earns its share of the savings for each patient treated. + +--- + +## **🎯 The Benefits: A Win-Win for Everyone** + +### **👥 For Patients** + +- **Affordable Access to Cures:** Financial barriers are removed, making life-changing treatments available to all. +- **Better Health and Quality of Life:** Cures eliminate diseases, reducing suffering and improving daily living. +- **Financial Relief:** No more ongoing expenses for treatments, medications, or hospital visits. + +### **🏢 For Healthcare Systems and Insurers** + +- **Significant Cost Savings:** Reducing or eliminating chronic diseases lowers overall healthcare expenditures. +- **Resource Reallocation:** Funds saved can be invested in other critical areas, such as preventive care or research. +- **Simplified Care Management:** Less need for managing chronic conditions over time. + +### **💊 For Pharmaceutical Companies** + +- **Profitable Business Model:** Earning a share of the savings can lead to substantial profits, especially when + treating large populations. +- **Incentive to Innovate:** Strong financial rewards motivate companies to invest in developing cures. +- **Enhanced Reputation:** Contributing to societal health boosts public image and trust. + +### **🌍 For Society** + +- **Healthier Population:** Reduced disease prevalence leads to increased productivity and well-being. +- **Economic Growth:** Lower healthcare costs and a healthier workforce positively impact the economy. +- **Reduced Health Inequality:** Equal access to cures helps bridge the gap in healthcare disparities. + +--- + +## **💵 Illustrative Financial Example** + +Let's consider the impact of curing common age-related diseases collectively. + +### **💫 Scenario** + +- **Diseases Addressed:** 🫀 Heart disease, 🦠 cancer, 🧠 Alzheimer's, diabetes, and more! +- **Total Expected Lifetime Healthcare Cost per Person:** 💰 **$388,500** +- **Developer's Potential Earnings per Person:** ✨ **$194,250** (50% of savings) +- **Population Size:** 👥 1 million people +- **Cost to Develop and Distribute the Therapy per Person:** 📊 **$10,000** + +### **Calculations** + +1. **Total Healthcare Savings:** + - $388,500 (savings per person) × 1,000,000 (people) = **$388.5 billion** + +2. **Total Developer Earnings:** + - $194,250 (earnings per person) × 1,000,000 (people) = **$194.25 billion** + +3. **Developer Profit:** + - $194.25 billion (earnings) - $10 billion (development costs) = **$184.25 billion** + +4. **Healthcare System Savings:** + - Remaining 50% of savings: **$194.25 billion** + +### **Summary** + +- **Patients Benefit:** Receive cures at little to no cost. +- **Healthcare Systems Save:** $194.25 billion that can be reallocated. +- **Developers Profit:** Substantial earnings incentivize innovation. + +--- + +## **✨ Why This Model Makes Sense** + +### **Aligns Interests for Mutual Benefit** + +- **Patients:** Gain access to affordable cures, improving health and reducing financial strain. +- **Healthcare Systems:** Save money, allowing for better resource allocation. +- **Pharmaceutical Companies:** Profit from shared savings, incentivizing the development of cures. +- **Society:** Benefits from a healthier population and stronger economy. + +### **Encourages Innovation** + +- **Financial Motivation:** Clear rewards drive investment in research and development of cures. +- **Focus on Cures Over Treatments:** Shifts industry focus toward long-term solutions rather than temporary fixes. + +### **Promotes Health Equity** + +- **Accessible Treatments:** Low or no-cost therapies ensure everyone, regardless of income, can benefit. +- **Reduced Disparities:** Equal access helps bridge gaps in healthcare outcomes. + +### **Economic Efficiency** + +- **Reduces Overall Costs:** Lowering the burden of chronic diseases decreases total healthcare spending. +- **Reinvested Savings:** Funds saved can enhance other areas of the healthcare system. + +--- + +## **🎉 Conclusion: Transforming Healthcare Together** + +This incentive model has the potential to revolutionize healthcare by shifting the focus from managing +diseases to curing them! 🌟 By aligning financial rewards with health outcomes, we create a system where: + +- **🎯 Patients receive the best possible care without financial barriers!** +- **📈 Healthcare systems become more sustainable and efficient!** +- **💪 Pharmaceutical companies are motivated to invest in groundbreaking cures!** +- **🌍 Society thrives with a healthier, more productive population!** + +--- + +## **❔ Frequently Asked Questions** + +### **Q1: Is it realistic for companies to offer therapies at low or no cost?** + +**A:** Yes. Under this model, companies profit from a share of the long-term healthcare savings per patient. By reducing +upfront costs, they encourage more people to use the therapy, increasing total savings and their earnings. + +### **Q2: How does this model benefit healthcare systems financially?** + +**A:** Healthcare systems save money by eliminating the high costs associated with long-term treatment of chronic +diseases. The savings can be substantial and can be reallocated to other healthcare priorities. + +### **Q3: What diseases could this model impact?** + +**A:** This model is particularly effective for diseases with high lifetime treatment costs and significant prevalence, +such as heart disease, cancer, Alzheimer's, and diabetes. + +### **Q4: How are the savings and developer earnings calculated?** + +**A:** Savings are calculated based on the average lifetime cost of treating the disease. Developers receive 50% of the +savings for each patient treated. Independent audits ensure accuracy and fairness. + +### **Q5: What about diseases that are rare or have low treatment costs?** + +**A:** While the model is most impactful for common, costly diseases, it can be adapted for rare diseases by adjusting +the profit-sharing percentage or combining efforts across multiple conditions. + +### **How the System Benefits Preventative and Longevity Therapies** + +#### **1. Savings are Based on Reduced Average Healthcare Costs** + +- **For Preventative Therapies**: + - Savings are calculated based on reduction in average per capita healthcare costs across the treated population. + - Example: If average annual healthcare costs + are $12,000 per person, and a preventative therapy reduces this by 15%, the annual savings are $1,800 per person. + Over a 10-year period, this amounts to $18,000 in savings, with the manufacturer earning $9,000 per patient. + +- **For Longevity Therapies**: + - Savings are measured by comparing healthcare costs of treated populations against baseline per capita costs for + their age group. + - Example: If a longevity therapy reduces average healthcare costs for people aged 65-75 from $18,000 to $13,000 per + year, the annual savings are $5,000. Over a 10-year period, this generates $50,000 in savings, with the + manufacturer earning $25,000 per patient. + +--- + +#### **2. No Need for Specific Endpoints** + +- Traditional drug trials often require **specific endpoints** (e.g., "Does the drug cure or improve this condition?"), + which can be hard to define for preventative or longevity therapies. Under this system: + - The **endpoint is cost savings**, not specific clinical results. + - Real-world data measures the reduction in healthcare spending over time, making the system inherently adaptable to + therapies that work across multiple conditions or improve overall health. + +--- + +#### **3. Incentivizing Long-Term Benefits** + +- Therapies with compounding benefits (e.g., reducing disease risk over decades or extending healthy lifespan) would + still qualify for savings-sharing payments as long as real-world data shows reduced costs over time. +- Longevity therapies that target multiple conditions simultaneously—like cellular reprogramming or gene editing—can + generate savings across a broad spectrum of healthcare expenses, increasing rewards for manufacturers. + +--- + +### **How the System Handles Long-Term Impact** + +1. **Ongoing Savings Calculation**: + - For preventative and longevity therapies, savings are calculated over a long period using real-world data. + - Example: If a therapy reduces annual healthcare costs by $10,000 for 20 years, the total savings are $200,000, + with the manufacturer earning $100,000. + +2. **Continuous Monitoring**: + - The decentralized FDA platform tracks patient health outcomes and healthcare costs over time to measure the + therapy's impact. + - Payments to manufacturers are adjusted dynamically based on actual savings achieved. + +3. **Broad Application**: + - Preventative and longevity therapies that provide diffuse or long-term benefits still qualify for rewards, even + without targeting a single disease or condition. + - Example: A therapy that slows aging could reduce the incidence of heart disease, diabetes, cancer, and dementia, + generating savings across multiple categories. + +--- + +### **Specific Changes to Traditional Requirements** + +#### **1. No Single Disease Endpoint**: + +- Preventative and longevity therapies are rewarded based on **multi-condition savings** rather than curing or + preventing one specific disease. + +#### **2. Long-Term Real-World Data Collection**: + +- The system relies on **anonymized, decentralized data** to measure healthcare cost reductions over decades, making it + feasible to track the impact of longevity therapies. + +#### **3. Incentivizing Early Adoption**: + +- Manufacturers are incentivized to make therapies widely available early, as larger populations and longer treatment + durations maximize savings-sharing rewards. + +--- + +### **Example Applications** + +#### **Preventative Therapy**: A Universal Cancer Vaccine + +- **Scenario**: A vaccine prevents common cancers, saving $500,000 per patient in lifetime treatment costs. +- **Savings Sharing**: The manufacturer earns $250,000 per patient. +- **Impact**: Large-scale adoption reduces the global cancer burden and generates sustainable rewards for the developer. + +#### **Longevity Therapy**: Epigenetic Reprogramming + +- **Scenario**: A therapy extends healthy lifespan by 10 years, delaying age-related diseases and saving $10,000/year in + healthcare costs. +- **Savings Sharing**: The manufacturer earns $5,000/year per patient for 10 years, or $50,000 total. +- **Impact**: By delaying multiple diseases, the therapy generates rewards from aggregate cost reductions. + +--- + +### **Key Benefits for Preventative and Longevity Therapies** + +1. **Eliminates the Endpoint Problem**: + - Success is measured in cost savings, not disease-specific outcomes, making the system ideal for broad-impact + therapies. +2. **Encourages Long-Term Thinking**: + - Manufacturers are incentivized to develop therapies with long-lasting benefits. +3. **Accelerates Adoption**: + - Patients benefit sooner from preventative and longevity therapies without waiting for traditional trial endpoints. +4. **Systemic Savings**: + - Healthcare systems save billions as chronic disease burdens decline and healthy lifespans increase. + diff --git a/historical-evidence-supporting-decentralized-efficacy-trials.md b/historical-evidence-supporting-decentralized-efficacy-trials.md new file mode 100644 index 00000000..6d187e5f --- /dev/null +++ b/historical-evidence-supporting-decentralized-efficacy-trials.md @@ -0,0 +1,107 @@ +--- +description: >- + Large scale efficacy-trials based on real-world evidence have historically led + to better health outcomes than current pharmaceutical industry-driven + randomized controlled trials. +--- + +# 📘 Historical Evidence Supporting Decentralized Efficacy Trials + +There is compelling historical evidence suggesting that large scale efficacy-trials based on real-world evidence have ultimately led to better health outcomes than current pharmaceutical industry-driven randomized controlled trials. + +For over 99% of recorded human history, the average human life expectancy has been around 30 years. + +![historical life expectancy](https://static.crowdsourcingcures.org/dfda/assets/life-expectancy-historical.jpg) + +**1893 – The Advent of Safety and Efficacy Trials** + +In the late nineteenth and early twentieth century, clinical objectivity grew. The independent peer-reviewed Journal of the American Medical Association (JAMA) was founded in 1893. It would gather case reports from the 144,000 physicians members of the AMA on the safety and effectiveness of drugs. The leading experts in the area of a specific medicine would review all the case reports and compile them into a study, listing side effects and the conditions for which a drug was or was not effective. If a medicine were found to be safe, JAMA would give its seal of approval for the conditions where it was found to be effective. + +The adoption of this system of crowdsourced, observational, objective, and peer-reviewed clinical research was followed by a sudden shift in the growth of human life expectancy. After over 10,000 years of almost no improvement, we suddenly saw a strangely linear 4-year increase in life expectancy every single year. + +**1938 – The FDA Requires Phase 1 Safety Trials** + +A drug called Elixir sulfanilamide caused over [100 deaths](https://www.fda.gov/files/about%20fda/published/The-Sulfanilamide-Disaster.pdf) in the United States in 1937. + +Congress [reacted](https://en.wikipedia.org/wiki/Elixir\_sulfanilamide) to the tragedy by requiring all new drugs to include: + +> "adequate tests by all methods reasonably applicable to show whether or not such drug is safe for use under the conditions prescribed, recommended, or suggested in the proposed labeling thereof." + +These requirements evolved to what is now called the [Phase 1 Safety Trial](https://en.wikipedia.org/wiki/Phase\_1\_safety\_trial). + +This consistent four-year/year increase in life expectancy remained unchanged before and after the new safety regulations. + +![Fda safety trials life expectancy](https://static.crowdsourcingcures.org/dfda/assets/fda-safety-trials-life-expectancy.png) + +This suggests that the regulations did not have a large-scale positive or negative impact on the development of life-saving interventions. + +#### **1950**'s – Thalidomide **Causes Thousands of Birth Defects Outside US** + +Thalidomide was first marketed in Europe in [1957](https://en.wikipedia.org/wiki/Thalidomide) for morning sickness. While it was initially thought to be safe in pregnancy, it resulted in thousands of horrific congenital disabilities. + +Fortunately, the existing FDA safety regulations prevented any birth defects in the US. Despite the effectiveness of the existing US regulatory framework in protecting Americans, newspaper stories such as the one below created a strong public outcry for increased regulation. + +![Thalidomide](https://static.crowdsourcingcures.org/dfda/assets/thalidomide.jpg) + +#### 1962 – New **Efficacy Regulations Reduce the Amount and Quality of Efficacy Data Collected** + +As effective **safety** regulations were already in place, the government instead responded to the Thalidomide disaster by regulating **efficacy** testing via the 1962 Kefauver Harris Amendment. Before the 1962 regulations, it cost a drug manufacturer an average of $74 million (2020 inflation-adjusted) to develop and test a new drug for safety before bringing it to market. Once the FDA had approved it as safe, efficacy testing was performed by the third-party American Medical Association. Following the regulation, trials were instead to be conducted in small, highly-controlled trials by the pharmaceutical industry. + +**Reduction in Efficacy Data** + +The 1962 regulations made these large real-world efficacy trials illegal. Ironically, even though the new regulations were primarily focused on ensuring that drugs were effective through controlled FDA efficacy trials, they massively reduced the quantity and quality of the efficacy data that was collected for several reasons: + +* New Trials Were Much Smaller +* Participants Were Less Representative of Actual Patients +* They Were Run by Drug Companies with Conflicts of Interest Instead of the 3rd Party AMA + +**Reduction in New Treatments** + +The new regulatory clampdown on approvals immediately reduced the production of new treatments by 70%. + +![](https://static.crowdsourcingcures.org/dfda/assets/new-treatments-per-year-2.png) + +**Explosion in Costs** + +Since the abandonment of the former efficacy trial model, costs have exploded. Since 1962, the cost of bringing a new treatment to market has gone from [$74 million](https://publications.parliament.uk/pa/cm200405/cmselect/cmhealth/42/4207.htm) to over [$1 billion](https://publications.parliament.uk/pa/cm200405/cmselect/cmhealth/42/4207.htm) US dollars (2020 inflation-adjusted). + +![Cost to Get a New Drug to Market](https://static.crowdsourcingcures.org/dfda/assets/cost-to-develop-a-new-drug.png) + +[greater-competitive-innovation-and-fewer-monopolies.md](greater-competitive-innovation-and-fewer-monopolies.md) + +[more-cures-and-less-lifelong-attempts-at-masking-symptoms.md](more-cures-and-less-lifelong-attempts-at-masking-symptoms.md) + + +[people-with-rare-disease-are-severely-punished.md](problems/people-with-rare-disease-are-severely-punished.md) + + +[deaths-due-to-us-regulatory-drug-lag.md](problems/deaths-due-to-us-regulatory-drug-lag.md) + + +**Increase in Patent Monopoly** + +Industry agitation surrounding the “drug lag” finally led to the modification of the drug patenting system in the Drug Price Competition and Patent Term Restoration Act of 1984. This further extended the life of drug patents. Thus, Kefauver's amendments ultimately made drugs more expensive by granting longer monopolies. + +**Decreased Ability to Determine Comparative Efficacy** + +The placebo-controlled, randomized controlled trial helped researchers gauge the efficacy of an individual drug. However, it makes the determination of comparative effectiveness much more difficult. + +**Slowed Growth in Life Expectancy** + +From 1890 to 1960, there was a linear 4-year increase in human lifespan every year. This amazingly linear growth rate had followed millennia with a flat human lifespan of around 28 years. Following this new 70% reduction in the pace of medical progress, the growth in human lifespan was immediately cut in half to an increase of 2 years per year. + +![Average Life Expectancy Over Time](https://static.crowdsourcingcures.org/dfda/assets/real-world-evidence-in-efficacy-clinical-trials-vs-rcts.png) + +**Diminishing Returns?** + +One might say, “It seems more likely — or as likely — to me that drug development provides diminishing returns to life expectancy.” However, diminishing returns produce a slope of exponential decay. It may be partially responsible, but it’s not going to produce a sudden change in the linear slope of a curve a linear as life expectancy was before and after the 1962 regulations. + +![What diminishing returns would look like](https://static.crowdsourcingcures.org/dfda/assets/diminishing-returns.png) + +**Correlation is Not Causation** + +You might say, "I don't know how much the efficacy regulations contribute to or hampers public health. I do know that correlation does not necessarily imply causation." However, a correlation plus a logical mechanism of action is the least bad method we have for inferring the most likely significant causal factor for an outcome (i.e., life expectancy). Assuming most likely causality based on temporal correlation is the entire basis of a clinical research study and the scientific method generally. + + +[impact-of-innovative-medicines-on-life-expectancy.md](2-solution/impact-of-innovative-medicines-on-life-expectancy.md) + diff --git a/history-of-the-fda.md b/history-of-the-fda.md new file mode 100644 index 00000000..d47a9f3c --- /dev/null +++ b/history-of-the-fda.md @@ -0,0 +1,99 @@ +**Historical Evidence Suggesting That Crowdsourcing Clinical Research Works** + +There is compelling historical evidence suggesting that large scale efficacy-trials based on real-world evidence have ultimately led to better health outcomes than current pharmaceutical industry-driven randomized controlled trials. + +For over 99% of recorded human history, the average human life expectancy has been around 30 years. + +![](https://why.dfda.earth/~gitbook/image?url=https%3A%2F%2F2775799074-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FgAWf5oBWdPgEKHRT7zcm%252Fuploads%252Fgit-blob-9e400e2bde318d3bdefba9cd726a1f75602e9e98%252Flife-expectancy-historical.jpg%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=d3dd5675&sv=1) + +historical life expectancy + +**1893 - The Advent of Safety and Efficacy Trials** + +In the late nineteenth and early twentieth century, clinical objectivity grew. The independent peer-reviewed Journal of the American Medical Association (JAMA) was founded in 1893. It would gather case reports from the 144,000 physicians members of the AMA on the safety and effectiveness of drugs. The leading experts in the area of a specific medicine would review all of the data and compile them into a study listing side effects and the conditions for which a drug was or was not effective. If a medicine were found to be safe, JAMA would give its seal of approval for the conditions where it was found to be effective. + +The adoption of this system of crowd-sourced, observational, objective, and peer-reviewed clinical research was followed by a sudden shift in the growth of human life expectancy. After over 10,000 years of almost no improvement, we suddenly saw a strangely linear 4-year increase in life expectancy every single year. + +**1938 - The FDA Requires Phase 1 Safety Trials** + +A drug called Elixir sulfanilamide caused over [100 deaths](https://www.fda.gov/files/about%20fda/published/The-Sulfanilamide-Disaster.pdf) in the United States in 1937. + +Congress [reacted](https://en.wikipedia.org/wiki/Elixir_sulfanilamide) to the tragedy by requiring all new drugs to include: + +> "adequate tests by all methods reasonably applicable to show whether or not such drug is safe for use under the conditions prescribed, recommended, or suggested in the proposed labeling thereof." + +These requirements evolved to what is now called the [Phase 1 Safety Trial](https://en.wikipedia.org/wiki/Phase_1_safety_trial). + +This consistent four-year/year increase in life expectancy remained unchanged before and after the new safety regulations. + +![](https://why.dfda.earth/~gitbook/image?url=https%3A%2F%2F2775799074-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FgAWf5oBWdPgEKHRT7zcm%252Fuploads%252Fgit-blob-96451d4b09e89f546d9e66e30c11daf2f5c64010%252Ffda-safety-trials-life-expectancy.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=cbe0c2ff&sv=1) + +Fda safety trials life expectancy + +This suggests that the regulations did not have a large-scale positive or negative impact on the development of life-saving interventions. + +#### [](https://why.dfda.earth/#id-1950s-thalidomide-causes-thousands-of-birth-defects-outside-us) + +**1950's - Thalidomide Causes Thousands of Birth Defects Outside US** + +Thalidomide was first marketed in Europe in [1957](https://en.wikipedia.org/wiki/Thalidomide) for morning sickness. While it was initially thought to be safe in pregnancy, it resulted in thousands of horrific congenital disabilities. + +Fortunately, the existing FDA safety regulations prevented any birth defects in the US. Despite the effectiveness of the existing US regulatory framework in protecting Americans, newspaper stories such as the one below created a strong public outcry for increased regulation. + +![](https://why.dfda.earth/~gitbook/image?url=https%3A%2F%2F2775799074-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FgAWf5oBWdPgEKHRT7zcm%252Fuploads%252Fgit-blob-3340b6c51d9cf56c83b596136b10b49622230837%252Fthalidomide.jpg%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=18b52b0a&sv=1) + +Thalidomide + +#### [](https://why.dfda.earth/#id-1962-new-efficacy-regulations-reduce-the-amount-and-quality-of-efficacy-data-collected) + +**1962 - New Efficacy Regulations Reduce the Amount and Quality of Efficacy Data Collected** + +As effective **safety** regulations were already in place, the government instead responded to the Thalidomide disaster by regulating **efficacy** testing via the 1962 Kefauver Harris Amendment. Before the 1962 regulations, it cost a drug manufacturer an average of \$74 million (2020 inflation-adjusted) to develop and test a new drug for safety before bringing it to market. Once the FDA had approved it as safe, efficacy testing was performed by the third-party American Medical Association. Following the regulation, trials were instead to be conducted in small, highly-controlled trials by the pharmaceutical industry. + +**Reduction in Efficacy Data** + +The 1962 regulations made these large real-world efficacy trials illegal. Ironically, even though the new regulations were primarily focused on ensuring that drugs were effective through controlled FDA efficacy trials, they massively reduced the quantity and quality of the efficacy data that was collected for several reasons: + +* New Trials Were Much Smaller +* Participants Were Less Representative of Actual Patients +* They Were Run by Drug Companies with Conflicts of Interest Instead of the 3rd Party AMA + +**Reduction in New Treatments** + +The new regulatory clampdown on approvals immediately reduced the production of new treatments by 70%. + +![](https://why.dfda.earth/~gitbook/image?url=https%3A%2F%2F2775799074-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FgAWf5oBWdPgEKHRT7zcm%252Fuploads%252Fgit-blob-bbda5b9dbea73c35980dbdce1de2dbbf0a9f8045%252Fnew-treatments-per-year-2.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=6871f30c&sv=1) + +**Explosion in Costs** + +Since the abandonment of the former efficacy trial model, costs have exploded. Since 1962, the cost of bringing a new treatment to market has gone from [\$74 million](https://publications.parliament.uk/pa/cm200405/cmselect/cmhealth/42/4207.htm) to over [\$1 billion](https://publications.parliament.uk/pa/cm200405/cmselect/cmhealth/42/4207.htm) US dollars (2020 inflation-adjusted). + +![](https://why.dfda.earth/~gitbook/image?url=https%3A%2F%2F2775799074-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FgAWf5oBWdPgEKHRT7zcm%252Fuploads%252Fgit-blob-81591ff46ae70ca01021fc1f22a303c11760906d%252Fcost-to-develop-a-new-drug.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=cfe747bb&sv=1) + +[🧐**Greater Competitive Innovation and Fewer Monopolies**](https://why.dfda.earth/2-solution/greater-competitive-innovation-and-fewer-monopolies)[🎭**More Cures and Less Lifelong Attempts at Masking Symptoms**](https://why.dfda.earth/2-solution/more-cures-and-less-lifelong-attempts-at-masking-symptoms)[🤒**People With Rare Disease are Severely Punished**](https://why.dfda.earth/1-introduction-and-challenges/people-with-rare-disease-are-severely-punished)[⏱️**Deaths Due to US Regulatory "Drug Lag"**](https://why.dfda.earth/1-introduction-and-challenges/deaths-due-to-us-regulatory-drug-lag)**Increase in Patent Monopoly** + +Industry agitation surrounding the “drug lag” finally led to the modification of the drug patenting system in the Drug Price Competition and Patent Term Restoration Act of 1984. This further extended the life of drug patents. Thus Kefauver's amendments ultimately made drugs more expensive by granting longer monopolies. + +**Decreased Ability to Determine Comparative Efficacy** + +The placebo-controlled, randomized controlled trial helped researchers gauge the efficacy of an individual drug. However, it makes the determination of comparative effectiveness much more difficult. + +**Slowed Growth in Life Expectancy** + +From 1890 to 1960, there was a linear 4-year increase in human lifespan every year. This amazingly linear growth rate had followed millennia with a flat human lifespan of around 28 years. Following this new 70% reduction in the pace of medical progress, the growth in human lifespan was immediately cut in half to an increase of 2 years per year. + +![](https://why.dfda.earth/~gitbook/image?url=https%3A%2F%2F2775799074-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FgAWf5oBWdPgEKHRT7zcm%252Fuploads%252Fgit-blob-a1a1c16f51ea41f3f5d024e3aa409d7028afa99a%252Freal-world-evidence-in-efficacy-clinical-trials-vs-rcts.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=dbdb4d2e&sv=1) + +Average Life Expectancy Over Time + +**Diminishing Returns?** + +One might say “It seems more likely — or as likely — to me that drug development provides diminishing returns to life expectancy.” However, diminishing returns produce a slope of exponential decay. It may be partially responsible, but it’s not going to produce a sudden change in the linear slope of a curve a linear as life expectancy was before and after the 1962 regulations. + +![](https://why.dfda.earth/~gitbook/image?url=https%3A%2F%2F2775799074-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FgAWf5oBWdPgEKHRT7zcm%252Fuploads%252Fgit-blob-b593c6f3ff77604ab13246b840fd9cf878ebca64%252Fdiminishing-returns.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=44e70be0&sv=1) + +What diminishing returns would look like + +**Correlation is Not Causation** + +You might say "I don't know how much the efficacy regulations contribute to or hampers public health. I do know that correlation does not necessarily imply causation." However, a correlation plus a logical mechanism of action is the least bad method we have for inferring the most likely significant causal factor for an outcome (i.e. life expectancy). Assuming most likely causality based on temporal correlation is the entire basis of a clinical research study and the scientific method generally. \ No newline at end of file diff --git a/home.md b/home.md index 69353aa8..e74c706f 100644 --- a/home.md +++ b/home.md @@ -1,372 +1,552 @@ ---- -title: 💡 The Decentralized FDA -description: Automating and decentralizing clinical research to quantify the effects of foods, drugs, and supplements affect human health. -published: true -date: 2024-12-16T02:27:26.256Z -tags: curedao, litepaper, overview -editor: markdown -dateCreated: 2023-11-24T22:24:09.275Z ---- +# Objective -# Mandate -Maximize average healthy human lifespan and minimize net suffering by quantifying the effects of every food, additive, supplement, and medical intervention. +Disease eradication. -![dfda-overview-purple.png](https://static.crowdsourcingcures.org/img/dfda-overview-purple.png) +# How it works -# Overview +Upgrade all global health agencies to allow any patient to: +1. Quantify the safety and effectiveness of all treatments based on the entiree -The Wikipedia model demonstrates the power of crowdsourcing and open collaboration. Despite Microsoft spending billions of dollars hiring thousands of PhDs to create Encarta, Wikipedia generated over 50 times more content in just a few years with the same accuracy levels at a fraction of the cost. -Our goal is a 50X acceleration in clinical discovery by replicating this model for clinical research. We can use real-world evidence from patients, clinicians, and researchers to enable orders of magnitude more insights and discovery. +# We Can Eradicate Disease -# Problems We're Trying To Solve +🚀 by giving all patients the right to effortlessly participate in global decentralized clinical research 💊 -- **Slow and Expensive:** It takes over a decade and \$2.6 billion on average to bring a drug to market, with Phase III clinical trials costing around \$41k per subject. -- **No Data on Unpatentable Molecules:** There is a significant lack of data on the long-term effects of the majority of synthetic or natural compounds, as there is insufficient incentive to research non-patentable molecules. -- **Neglected Off-Patent Treatments:** There is a lack of financial incentive to approve drugs for additional conditions after their patent expires, leaving potential treatments for rare diseases unexplored. -- **No Long-Term Outcome Data:** Due to financial constraints, long-term effects of drugs are often unknown. -- **Publication Bias:** Negative results are frequently unreported, leading to redundant research efforts and wasted resources. -- **Exclusion of Diverse Patient Populations:** Clinical trials often exclude a vast majority of the patient population, limiting the generalizability of findings. -- **Vast Amount of Unresearched Combinations:** The immense number of possible molecule-disease combinations leaves 99.9999998% of potential knowledge undiscovered. -- **Bias Towards Rejecting Effective Treatments:** Cognitive biases and personal risk aversion among regulators result in a tendency to reject potentially life-saving treatments. +## Problems We Can Solve -To overcome these perverse incentives and biases, implementing a Decentralized Autonomous Organization (DAO) regulatory body is proposed. This would distribute responsibility among a large group of experts, mitigating individual risk and bias, and fostering a more balanced, efficient, and innovative drug approval process. 👉 [Learn More](/problems-in-clinical-research) +To have any hope of eradicating disease, we first need to solve the following problems: +👥 -# **Ingredients of the dFDA** +$41k -## **Digital Twin Safes / PersonalFDA Nodes** +cost per participant in traditional clinical trials -A tool for self-sovereign storage of personal data that enables effortless data sharing with clinical safety and efficacy studies. +💸 -**Features** - - **Data Import:** Create seamless mechanisms for importing existing health data while ensuring privacy and security. Import data from all your apps and wearables, so you can centrally own, control, and share all your digital exhaust. - - **Data Encryption:** Implement robust encryption protocols to safeguard sensitive health data. - - **Sync to Trusted Instances:** Establish secure channels for data synchronization, ensuring integrity and reliability. - - **Federated Learning with Homomorphic Encryption:** Innovate in secure data analysis, allowing for meaningful insights without compromising data privacy. - - [Data Gems NFTs](/data-gem-nfts) - Data sets can be encrypted and stored in a decentralized manner generating a Data Gem NFT that can be sold on data exchanges granting the possessor access to the data set. -- [Digital Twin Skeleton Key NFT](/digital-twin-skeleton-key-nft) - This key gives you the ability to mint [Data Gem](/data-gem-nfts) Data Access NFTs using your imported data. -- [The Human File System Protocol SDK](/human-file-system) - A Simple API for Patient-Controlled Health Data Aggregation, Sharing, and Monetization. Also standard protocol for personal data exchange between studies, apps, and devices. - -**Potential Implementations, Components or Inspiration** -- [Modified Gnosis Safe](/digital-twin-safe) -- [Weavechain](/ecosystem/weavechain) -- [Crowdsourcing Cures App](https://app.crowdsourcingcures.org/app/public/#/app/intro) +$1.6 Billion -![digital-twin-safe-screenshot-home](https://user-images.githubusercontent.com/2808553/200402565-72bc85a3-deb2-4f1a-a9b1-bde108e63d87.png) +cost to develop a new treatment falls on patients -## **dFDA Wiki** +☠️ - - **Knowledge Base:** Inspiration could be taken from the Psychonaut Wiki. It's a modified version of MediaWiki with additional quantitative metadata storage regarding the pharmacokinetics of various substances. This could be expanded to document the quantitative effects of every factor on specific health outcomes. - - **Data Silos Directory:** Compile a comprehensive directory of existing data sources, facilitating integration with the Digital Twin Safe. - - **Reputation Scoring:** Develop a transparent and reliable reputation-weighted voting system for intervention approval. - - **Comparative Policy Analysis** - Aggregate existing approval and certification data from existing national regulatory bodies - - **Food and Drug Outcome Labels** - Ultimately, the most useful output of a decentralized FDA would be **Outcomes Label** which lists the degree to which the product is likely to improve or worsen specific health outcomes or symptoms. These are derived from real-world data (RWD) and subject to Futarchical-weighted review by the board members of the dFDA. - - **Publish Meta-Analyses** - Generate meta-analyses from all completed studies at ClinicalTrials.gov - - **Certification of Intervention Manufacturers/Sources** via a Decentralized Web of Trust derived from end-user data and reviews traced back through an NFT-tracked supply chain - - **Intervention Ranking** - Elevate the most promising yet little/known or researched treatments - - **Decentralized Clinical Trials** - This would increase knowledge and access and availability of new and innovative treatments to those who need them urgently. - -**Related Projects** -- [Psychonaut Wiki](https://psychonautwiki.org/wiki/Psychoactive_substance_index) -- [Journal of Citizen Science](https://studies.crowdsourcingcures.org/) +120,000 Deaths/Decade -![outcome-labels-plugin.png](https://static.crowdsourcingcures.org/img/outcome-labels.PNG) +due to regulatory delays -# Benefits +🚫 -## For Individuals +85% -- eBay for health data - You can earn magic internet money by selling your data regarding symptoms, treatments, and - factors to pharmaceutical companies, insurance companies, and other data buyers -- Control access and use of your data through fine-grained permissions -- Continuously monitor and audit the data you provide to other organizations +of patients are unable to participate in clinical trials -## For Health Apps +💊 -- Connected real-world data yields better insights for your users -- Apps that embed the exchange in their app earn a 0.5% transaction fee for each data sale -- Connect to third-party sources to enrich your data, or easily connect to a user's existing data +95% -## For Pharmaceutical Companies +of diseases have NO FDA-approved treatments -- Conduct long-term safety and effectiveness studies by linking their clinical trial data to medical claims and - electronic health record data -- Refine models for finding rare disease patients by linking diagnostic lab, genomic, and imaging data -- Discover new therapeutic candidates with connected data +🤒 -## For Insurers +17 years -- Improve value-based care analytics and sharpen total cost of care estimates by linking to EHR and clinical data -- Connect to the nation's largest ecosystem of health data -- Hone risk adjustment factor calculations by linking claims to social determinant's data, to properly estimate the true - cost of patient care +of suffering until a new treatment reaches patients -# The dFDA Tech Stack +⚛️ -## 1. Personal FDA Nodes +166 billion -A safe for your digital twin that provides +potential treatments have not been tested -* Storage -* Security -* Access Control -* De-identified Data Sharing -* API with Advanced Querying Capabilities +🌍 -## 2. The 3rd Party Plugin Framework +2 Billion -* Data import from any source -* Data Format Transformation -* Data visualizations -* Machine learning algorithms -* Data analysis -* Personalized Health Dashboards +people are suffering from uncured diseases -![The Platform](https://static.crowdsourcingcures.org/img/simplified-platform-architecture-diagram.png) +🧫 -Our novel incentive structure overcomes the traditional collaboration and data sharing barriers by encoding contributions through non-fungible tokens (NFTs). -Using smart contracts, the platform will compensate all contributors with royalties. +44 years +since we last cured a disease -# Problem: You and Everyone You Love Will Suffer and Die +## The World We Can Create 🌍 -Over [2 billion](https://www.george-health.com/global-health-challenge/) people are suffering and [150,000](https://www.weforum.org/agenda/2020/05/how-many-people-die-each-day-covid-19-coronavirus/) people die every single day from preventable diseases. -For perspective, this is equivalent to: +If we gave every patient the right to effortlessly participate in decentralized clinical trials, we could achieve: -* [**FIFTY-ONE**](https://en.wikipedia.org/wiki/Casualties\_of\_the\_September\_11\_attacks) September 11th attacks every day -* [**NINE**](https://www.haaretz.com/israel-news/6-million-where-is-the-figure-from-1.10570907) Holocausts every year +🚀 -# 💡 Solution: A Collaborative Framework for Personalized, Precision Health +20X -The solution is to use the oceans of real-world evidence to accelerate the discovery of new cures and reveal hidden causes of disease. +the rate of treatment discovery -The human body can be viewed as a black box with inputs (like diet, treatments, etc.) and outputs (like symptom severity). We're creating a mathematical model of human biology to determine the input factors and values that produce optimal health outcomes. +📉 +95% -![machine-learning-health-optimization.png](https://static.crowdsourcingcures.org/img/machine-learning-health-optimization.png) +lower costs of clinical trials and treatments -## The Potential of the Oceans of Real-World Evidence +🤑 -* **Discovering Hidden Causes of Illness** - Data mining and analysis to identify hidden factors in our daily life that are making us sicker -* **Preventative medicine** - Predictive analytics and data analysis of genetic, lifestyle, and social circumstances to prevent disease -* **Precision medicine** - Leveraging aggregate data to determine the precise treatments and dosages for your unique biology -* **Accelerated Treatment Discovery** - Data-driven medical and pharmacological research to discover new treatments and medicines -* **Reduction of adverse medication events** - Harnessing big data to spot medication errors and flag potential adverse reactions -* **Cost reduction** - Driving better patient outcomes for long-term savings through prevention and avoidance of expensive and ineffective treatments -* **Population health** - Identify health strategies based on demographic, geographic, and socioeconomic trends +📈 -# Why Clinical Research Has Failed +🌍 -It takes over [10 years and 2.6 billion dollars](https://www.semanticscholar.org/paper/Innovation-in-the-pharmaceutical-industry%3A-New-of-DiMasiGrabowski/3275f31c072ac11c6ca7a5260bd535720f07df41) to bring a drug to market (including failed attempts). -It costs [$41k](https://www.clinicalleader.com/doc/getting-a-handle-on-clinical-trial-costs-0001) per subject in Phase III clinical trials. +100% -The high costs lead to: +of patients can participate in trials -**1. No Data on Unpatentable Molecules** +⚡ -We still know next to nothing about the long-term effects of 99.9% of the 4 pounds of over [7,000](https://www.dailymail.co.uk/health/article-8757191/Are-additives-food-making-ill.html) different synthetic or natural compounds. This is because there's only sufficient incentive to research patentable molecules. +2 Years -![](https://static.crowdsourcingcures.org/img/chemicals-in-our-diet.png) +instead of 17 years to get new treatments to patients -**2. Lack of Incentive to Discover Every Application of Off-Patent Treatments** +## How it Works: Upgrade FDA.gov 🚀 -Most of the known diseases (approximately 95%) are classified as rare diseases. Currently, a pharmaceutical company must predict particular conditions to treat before running a clinical trial. Suppose a drug is effective for other diseases after the patent expires. In that case, there isn't a financial incentive to get it approved for the different conditions. +Use a small fraction of the FDA's $7 billion annual budget to upgrade FDA.gov to allow ANY patient ANYWHERE in the world to: -**3. No Long-Term Outcome Data** +### 1\. Enter Your Condition -It's not financially feasible to collect a participant's data for years or decades. Thus, we don't know if the long-term effects of a drug are worse than the initial benefits. +Simply input the condition that's making you miserable. -**4. Negative Results Aren't Published** +### 2\. View Ranked Treatments -Pharmaceutical companies tend to only report "positive" results. That leads to other companies wasting money repeating research on the same dead ends. +See a ranked list of the most save and effective treatments based on the entire universe of clinical and real-world data. -**5. Trials Exclude a Vast Majority of The Population** +### Joint Replacement Surgery -One investigation found that only [14.5%](https://www.ncbi.nlm.nih.gov/pubmed/14628985) of patients with major depressive disorder fulfilled eligibility requirements for enrollment in an antidepressant trial. Furthermore, most patient sample sizes are very small and sometimes include only 20 people. +Effectiveness -**6. We Only Know 0.000000002% of What is Left to be Researched** +88% -The more research studies we read, the more we realize we don't know. Nearly every study ends with the phrase "more research is needed". +Confidence -If you multiply the [166 billion](https://www.nature.com/articles/549445a) molecules with drug-like properties by the [10,000](https://www.washingtonpost.com/news/fact-checker/wp/2016/11/17/are-there-really-10000-diseases-and-500-cures/) known diseases, that's 1,162,000,000,000,000 combinations. So far, we've studied [21,000 compounds](https://www.centerwatch.com/articles/12702-new-mit-study-puts-clinical-research-success-rate-at-14-percent). That means we only know 0.000000002% of the effects left to be discovered. +LOW -![](https://static.crowdsourcingcures.org/img/studied-molecules-chart-no-background.png) +[Join Trial](https://www.dfda.earth/treatments/Joint%20replacement%20surgery) -# Why Digital Health Innovation Has Failed +### Low Dose Naltrexone (Ldn) -## Duplication of Effort +Effectiveness -Despite this massive growth in health data and innovation, we've seen increased costs and disease burden and decreased life expectancy. +86% -![](https://static.crowdsourcingcures.org/img/digital-health-has-failed-large.png) +Confidence -The reason is awful **incentives**. There are more than [350,000](https://www.emarketer.com/content/over-350k-digital-health-apps-flooding-market-here-s-how-apps-stand) health apps. -Each costs an average of [\$425,000](https://www.mobihealthnews.com/content/mobile-health-app-development-costs-425000-average-likely-continuing-rise) to develop. -Most have significant overlap in functionality, representing a cost of [$157,500,000,000](https://www.mobihealthnews.com/content/mobile-health-app-development-costs-425000-average-likely-continuing-rise) on duplication of effort. +LOW -![](https://static.crowdsourcingcures.org/img/collaboration-is-punished.PNG) +[Join Trial](https://www.dfda.earth/treatments/Low%20Dose%20Naltrexone%20\(LDN\)) -Isolated streams of health data can only tell us about the past. For example, dashboards filled with descriptive statistics such as our daily steps or sleep. +### Prednisone -![](https://static.crowdsourcingcures.org/img/thousands-of-dashboards.PNG) +Effectiveness -If this data and innovation efforts were combined, this could increase the rate of progress by 350,000 times. +78% -![](https://static.crowdsourcingcures.org/img/vertical-innovation.PNG) +Confidence -The obstacle has been the free-rider problem. Software developers that open source their code give their closed-source competitors an unfair advantage, increasing their likelihood of bankruptcy. +HIGH +[Join Trial](https://www.dfda.earth/treatments/Prednisone) -# 🏭 Platform +[See All Treatments](https://www.dfda.earth/conditions/Rheumatoid%20Arthritis) -A global open-source platform and plugin framework will enable the transformation of data into clinical discoveries. +### 3\. Join Clinical Trials from Home -## Functional Scope +Instantly enroll in decentralized trials for promising treatments that interest you. -The functional scope of the platform includes: +![](/_next/image?url=https%3A%2F%2Fstatic.crowdsourcingcures.org%2Fvideo%2Fautonomous-study-search.gif&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) -* Aggregation -* Managing -* Processing -* Storage +### 4\. Get Treatment Delivered -of health data from different sources. +Get treatments delivered to your pharmacy or physician and schedule necessary lab tests automatically. -## Primary goal +![](/_next/image?url=https%3A%2F%2Fstatic.crowdsourcingcures.org%2Fvideo%2Fautonomous-cvs.gif&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) -Create a basic foundational technology layer suitable for any digital health application that provides better interoperability, portability, availability, analysis, and data security. +### 5\. Effortlessly Report Outcomes -## Use Cases +Report treatment effects easily through your preferred apps, EHR systems, or automated calls. -* EHR Systems for healthcare providers -* User-centered dashboards for personal health management -* Data sharing with doctors, health coaches, or family members -* Decentralized clinical trial platforms -* Patient recruitment services for clinical trials -* Citizen science platforms -* Health data marketplaces -* Open health databases for research -* Algorithm and scores development (e.g., in-silico trials) -* Niche health applications with specific requirements or custom integrations +![](/_next/image?url=https%3A%2F%2Fstatic.crowdsourcingcures.org%2Fvideo%2Freminder-inbox.gif&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) -![Platform](https://static.crowdsourcingcures.org/img/large-platform-diagram-no-colors.png) +### 6\. Continuously Improve Rankings -The platform consists of two primary components: +Your data helps improve treatment rankings and benefits future patients globally. -* **Core Open-Source Platform** - The core platform is open-source and includes only universally necessary features. This primarily consists of user authentication, data owner access controls, data storage, data validation, and an API for storage and retrieval. -* **Plugin Framework** - Plugins will provide additional functionality like data import from specific sources, data mapping to various formats, data analysis, data visualization, notifications. These may be free or monetized by their creator. +![](/_next/image?url=https%3A%2F%2Fstatic.crowdsourcingcures.org%2Fvideo%2Fblack-box-model-animation2.gif&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) -## Core Components +# Benefits of the Global Disease Eradication Act -**Data Ingestion and Access API** +## Look at all these great features giving patients the right to effortlessly particpate in decentralized clinical trials! 🚀 -The Unified Health application programming interface (API) includes an OpenAPI specification for receiving and sharing data with the core database. Software development kits (SDKs) will enable developers to implement easy automatic data access and sharing options in their applications. +| Category | FDA v1 | FDA v2 | +| --- | --- | --- | +| +⏱️ Years Until Patients Can Access Treatment -**Data Mapping and Validation** + | 17 years | ➡️ 2 years | +| | +| -Data from files or API requests can be mapped from many different proprietary formats into a standard schema. +💰 Cost of Clinical Trials -**Data Ownership** + | $57M | ➡️ $2M | +| | +| -Data should be owned by the individual who generated it. It should remain under their control throughout the entire data life-cycle from generation to deletion. +👥 Percent of Patients Able to Join Trials -**Data Compensation** + | 15% | ➡️ 100% | +| | -Value stream management allows the exchange of data for tokens. +### 💡 Key Benefits -## Plugin Framework +- Dramatically faster access to treatments +- 96% reduction in research costs +- Universal access to clinical trials -3rd party plugins can interact with the core and provide additional functionality. They may be free or monetized by their creator. These include: +# 👀Look at those savings! 🤑 -* Data Import Plugins -* Data Visualization Plugins -* Machine Learning Plugins -* Electronic Health Record System Plugins -* Clinical Trial Management Plugins +## By decentralizing and automating clinical research, we could reduce the cost of new treatments by 95%! -![Branded Plugins](https://static.crowdsourcingcures.org/img/plugin-marketplace.png) +| Cost Item | Current Cost | New Cost | Savings | +| --- | --- | --- | --- | +| +💾 Data Management Costs -**Data Analysis Plugins** +$198,014 → $10,000 -Data Analysis Plugins will apply statistical and machine learning methods to the ocean of high-frequency longitudinal individual and population-level data. The resulting value will include: + | $198,014 | $10,000 | 94.9% | +| | +| -* Personalized Effectiveness Quantification - Determination of the precise effectiveness of treatments for specific individuals -* Root Cause Analyses - Revelation of hidden factors and root causes of diseases -* Precision Medicine - Determination of the personalized optimal values or dosages based on biomarkers, phenotype, and demographics -* Combinatorial Medicine - Discover relationships between variables or combinations of interventions -* Optimal Daily Values - Determination of the personalized optimal dosages of nutrients or medications -* Cost-Benefit Analysis of interventions by weighing clinical benefit against costs in terms of side effects and financial impact +✅ Cost Per IRB Approvals -**Example Data Presentation Plugins** +$324,081 → $5,000 -* [Outcome Labels](/en/plugins/outcome-labels-plugin) -* [Predictor Search Engines](/en/plugins/predictor-search-engine-plugin) -* [Root Cause Analysis Reports](/en/plugins/root-cause-analysis-plugin) -* [Observational Studies](/en/plugins/observational-studies-plugin) -* [Real-Time Decision Support Notifications](/en/plugins/optomitron-real-time-notifications-plugin) + | $324,081 | $5,000 | 98.5% | +| | +| -# ❤ Benefits +📝 Cost of IRB Amendments -### Incentive Alignment +$6,347 → $0 -This illustrates the flow of value between different stakeholders. Unlike traditional zero-sum games, we can provide everyone with more value from participation than they have to put into it. + | $6,347 | $0 | 100.0% | +| | +| -![Value Flow Chain](https://static.crowdsourcingcures.org/img/value-chain-diagram.png) +🔍 SDV Costs -## 1. For Patients +$1,486,250 → $25,000 -Incentives for Patients to share their de-identified data will include: + | $1,486,250 | $25,000 | 98.3% | +| | +| -1. Actionable ways to prevent and mitigate chronic illnesses. -2. The ability to license and earn a share of income for the use of their data for research and development by pharmaceutical companies and other businesses. +🤝 Patient Recruitment Costs -## 2. For Businesses Housing Data Silos +$805,785 → $15,000 -Businesses housing data silos include health insurers, pharmacies, grocery delivery services, digital health apps, hospitals, etc. These will be incentivized to allow individuals to easily share their data via a well-documented OAuth2 API by: + | $805,785 | $15,000 | 98.1% | +| | +| -1. A share of income for using their data for research and development. -2. An on-site instance of the OAuth2 server to retrieve required data from their on-premise databases. -3. Reduction in their employee healthcare costs (one of their most significant expenses) +🎯 Patient Retention Costs -## 4. For Digital Health Businesses +$76,879 → $20,000 -1. Reduced costs of software development. -2. Massive free marketing exposure through company branded plugins in the Plugin Marketplace. -3. Revenue derived from their plugins in the Plugin Marketplace. + | $76,879 | $20,000 | 74.0% | +| | +| -## 5. For Disease Advocacy Non-Profit Organizations +👨‍⚕️ Nurse/Research Associate Costs -Disease advocacy nonprofits will benefit from promoting studies to their members by: +$2,379,605 → $150,000 -1. Furtherance of their mission to reduce the incidence of chronic illnesses. -2. Member engagement more productive than the traditional charity walk. + | $2,379,605 | $150,000 | 93.7% | +| | +| -## 6. For Government Health Agencies +👩‍⚕️ Physician Costs -1. A reduction in healthcare costs due to discovering new ways to prevent and mitigate chronic illnesses. -2. Furtherance of their stated reason for existence to protect and promote the general welfare. -3. Their duty to protect the rights of individuals' data. To fulfill this, they must require businesses in possession of it to give them the ability to access and share their data via a well-documented OAuth2 API -4. Cost-savings from international cost-sharing by using global open-source software. -5. Epidemiological discoveries on the effectiveness of different public health regulations between nations. +$1,966,621 → $100,000 -## 7. For Contributors to the Development of the Platform + | $1,966,621 | $100,000 | 94.9% | +| | +| -1. Gitcoin bounties for specific tasks -2. Entitling the developer to ongoing royalties in proportion to their contributions. -3. Dework bounties for tasks -4. Other benefits - depending on the involvement +🏥 Clinical Procedure Total +$5,937,819 → $1,000,000 + | $5,937,819 | $1,000,000 | 83.2% | +| | +| -## Conclusion +🧪 Laboratory Costs -The dFDA could provide innovative tools, resources, and frameworks, the dFDA empowers Contract Research Organizations, Certifying Agencies, and Regulatory Agencies to perform their roles more effectively, accelerating safety and innovation. +$2,325,922 → $500,000 -# 📚 Resources -- [dFDA Governance Protocol](/dfda-governance-protocol) - By implementing a continuous improvement process and a Futarchical Voting mechanism, the dFDA aims to enhance the quality of drug approvals and health policies. -- [Regulatory Enhancements](/dfda-drug-approval-process) - The ideal framework for drug approvals aims to harness the **collective intelligence** of a diverse and knowledgeable crowd, ensuring rigorous, transparent, and inclusive decision-making processes and **algorithmic optimization of outcomes** using quantitative cost-benefit analysis of every intervention for each condition -- [Support of Real World Evidence](/history-of-medical-regulation-and-clinical-research) - Large-scale efficacy trials based on real-world evidence, utilized before the pharmaceutical industry-driven randomized controlled trials mandated post-1962, were more effective in improving health outcomes, as evidenced by a consistent increase in human life expectancy during their implementation. -- [dFDA Legal Structure](/dfda-legal-framework) - In considering the optimal legal structure for the dFDA, it is crucial to evaluate the advantages, disadvantages, and suitability of various options to ensure that the organization can fulfill its mission effectively while remaining compliant with legal and regulatory requirements. -- [DeSci Exchange](/desci-exchange) - A free market for personal data in the form of an embeddable SDK with a configurable transaction fee for the apps embedding it. + | $2,325,922 | $500,000 | 78.5% | +| | +| +🏢 Site Recruitment Costs + +$849,158 → $0 + + | $849,158 | $0 | 100.0% | +| | +| + +🏗️ Site Retention Costs + +$4,461,322 → $0 + + | $4,461,322 | $0 | 100.0% | +| | +| + +👥 Administrative Staff Costs + +$7,229,968 → $100,000 + + | $7,229,968 | $100,000 | 98.6% | +| | +| + +📊 Site Monitoring Costs + +$4,456,717 → $0 + + | $4,456,717 | $0 | 100.0% | +| | +| + +🏢 Site Overhead + +$7,386,816 → $0 + + | $7,386,816 | $0 | 100.0% | +| | +| + +📎 All Other Costs + +$17,096,703 → $100,000 + + | $17,096,703 | $100,000 | 99.4% | +| | +| TOTAL SAVINGS 🎉 + +$56,988,007 → $2,025,000 + + | $56,988,007 | $2,025,000 | 95.7% | + +Cost analysis based on data from: ["Examination of Clinical Trial Costs and Barriers for Drug Development"](https://aspe.hhs.gov/reports/examination-clinical-trial-costs-barriers-drug-development-0) by the U.S. Department of Health and Human Services, Office of the Assistant Secretary for Planning and Evaluation (ASPE). + +### 💡 Key Benefits + +- Automated processes reduce manual labor costs +- AI-driven analysis improves efficiency and accuracy +- Decentralized approach eliminates site-related expenses +- Blockchain technology ensures data integrity + +Our cost reduction estimates are derived from the ASPE study's analysis of clinical trial costs across different therapeutic areas and phases, incorporating potential savings from electronic data capture, simplified protocols, and decentralized trial approaches. + +## Problems a Decentralized FDA Could Solve + +💰 + +### Clinical Research is Expensive + +It costs $1.6 billion to bring a drug to market (including failed attempts) and trials currently cost over $36k per participant. + +⌛ + +### Clinical Research is Slow + +It takes an average of 17 years for new treatments to reach patients. + +⏱ + +### Deaths Due to US Regulatory Drug Lag + +Delays in new interventions cost anywhere from 21,000 to 120,000 US lives per decade. + +🚧 + +### 90% of Willing Patients Do Not Participate in Clinical Trials + +A significant gap exists between the number of patients willing to participate in clinical trials and those who actually do. Studies indicate that while 68% of patients express interest in participating, only 9% report being invited to a clinical trial. + +🤪 + +### Lack of Logical Reasoning Based on Quantitative Cost-Benefit Analysis in FDA Decisions + +FDA regulatory decisions often lack logical reasoning based on quantitative cost-benefit analysis. + +🙈 + +### Negative Results are Never Published + +We waste billions of dollars repeating failed drug trials because companies only publish the positive results. + +📊 + +### No Treatment Effectiveness Rankings + +Shockingly, the existing system does not give us a ranked list of the most safe and effective treatments for a given condition. + +🥫 + +### No Data on Unpatentable Treatments + +We still know next to nothing about the long-term effects of 99.9% of the 4 pounds of over 7,000 different synthetic or natural chemicals you consume every day. + +🗓 + +### No Long-Term Outcome Data + +Current trials often only last a few months, so we have no idea what the long-term positive or negative effects of a drug are! + +🤒 + +### People With Rare Disease are Severely Punished + +It's impossible to recover a billion dollars of drug development from a small number of patients. + +🔮 + +### Pre-Determining Clinical Endpoints Requires Psychic Powers + +Drug Developers to Have Psychic Powers Needed to Pre-Determine Very Specific Clinical Endpoints Before Collecting Data + +🥸 + +### Trials Often Aren't Representative of Real Patients + +Clinical trials often exclude as much as 85% of patients so they don't tell us if the drug will work for the majority of patients. + +❓ + +### We Know Next to Nothing + +There are thousands of diseases and trillions of compounds with drug-like properties, but we've only studied 0.000000002% of potential treatments so far. + +## See Effects of Foods🍟 + +![](https://static.quantimo.do/img/variable_categories/foods.png)Folic Acid![](https://static.quantimo.do/img/variable_categories/foods.png)Coffee - Brewed From Grounds![](https://static.quantimo.do/img/variable_categories/vegetarian_food-96.png)Apples - Raw, With Skin![](https://static.quantimo.do/img/variable_categories/foods.png)Green Tea![](https://static.quantimo.do/img/variable_categories/foods.png)Bananas![](https://static.quantimo.do/img/fitness/png/energy-drink.png)Coffee![](https://static.quantimo.do/img/variable_categories/foods.png)Water![](https://static.quantimo.do/img/variable_categories/foods.png)Large Lemons![](https://static.quantimo.do/img/fitness/png/energy-drink.png)Coffee, Tea & Cocoa![](https://static.quantimo.do/img/variable_categories/vegetarian_food-96.png)Single-Serve Capsules & Pods + +## See Effects of Treatments💊 + +![](https://static.quantimo.do/img/variable_categories/treatments.png)Adderall![](https://static.quantimo.do/img/variable_categories/treatments.png)Memantine![](https://static.quantimo.do/img/variable_categories/treatments.png)Wellbutrin![](https://static.quantimo.do/img/variable_categories/treatments.png)Melatonin![](https://static.quantimo.do/img/variable_categories/pill-96.png)Adderall![](https://static.quantimo.do/img/variable_categories/treatments.png)Curcumin 95 by Jarrow![](https://static.quantimo.do/img/variable_categories/treatments.png)Mallownation E-Cig Vape Juice![](https://static.quantimo.do/img/variable_categories/treatments.png)Life Extension Magnesium![](https://static.quantimo.do/img/variable_categories/pill-96.png)DMT Smoked![](https://static.quantimo.do/img/variable_categories/pill-96.png)Methyl Folate+ With L-5-MTHF + Methyl B12 by One Elevated + +## See Most Effective Treatments for your Condition + +![](https://static.quantimo.do/img/variable_categories/sad-96.png)Inflammatory Pain![](https://static.quantimo.do/img/variable_categories/symptoms.png)Psoriasis Severity![](https://static.quantimo.do/img/emoticon-set/png/angry.png)Back Pain![](https://static.quantimo.do/img/variable_categories/symptoms.png)Incidents of Flatulence![](https://static.quantimo.do/img/emoticon-set/png/sick-2.png)Headache Severity![](https://static.quantimo.do/img/variable_categories/sad-96.png)Tiredness / Fatigue![](https://static.quantimo.do/img/variable_categories/vegetarian_food-96.png)Hunger![](https://static.quantimo.do/img/variable_categories/symptoms.png)Steatorrhea![](https://static.quantimo.do/img/variable_categories/sad-96.png)Arthritic Pains![](https://static.quantimo.do/img/variable_categories/sad-96.png)Rheumetoid Arthritis + +## Join Clinical Trials 🔬 + +Find and instantly join trials for the most promising treatments + +Find Trials + +Show Advanced Search Options + +### The Disease Eradication Act + +Help us give people suffering access to the most promising treatments + +![](/_next/image?url=https%3A%2F%2Fwiki.dfda.earth%2Fright_to_trial_act_image.jpg&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +### Your Personal FDAi Agent + +Help us give everyone a free superintelligent doctor + +### Your Digital Twin Safe + +Securely store and control your health data + +![](/_next/image?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F2808553%2F180306571-ac9cc741-6f34-4059-a814-6f8a72ed8322.png&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +### Clinipedia + +The Wikipedia of Clinical Research + +![](/_next/image?url=https%3A%2F%2Ffdai.earth%2Fwp-content%2Fuploads%2F2024%2F03%2Fclinipedia-inflammatory-pain-small.gif&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +### Outcome Labels + +See how treatments affect specific health outcomes + +![](/_next/image?url=https%3A%2F%2Fwiki.dfda.earth%2Fassets%2Foutcome-labels.PNG&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +### Why Decentralize the FDA? + +Learn about the historical context and need for decentralization + +![](/_next/image?url=https%3A%2F%2Fthinkbynumbers.org%2Fwp-content%2Fuploads%2F2021%2F03%2Fnews-story-headline-1-1024x563.png&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +## Automated Clinical Research + +### Automated Data Collection + +Import data from wearables and apps while leveraging AI-powered collection methods for comprehensive health insights. + +![](/_next/image?url=https%3A%2F%2Ffdai.earth%2Fwp-content%2Fuploads%2F2024%2F03%2Fimport.gif&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +### Automated Analysis + +Advanced AI algorithms analyze your health data to identify patterns and potential root causes. + +![](/_next/image?url=https%3A%2F%2Ffdai.earth%2Fwp-content%2Fuploads%2F2024%2F03%2Froot-cause-analysis-4x-small.gif&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +### Real-Time Decision Support + +Get personalized insights and recommendations based on your real-time health data analysis. + +![](/_next/image?url=https%3A%2F%2Ffdai.earth%2Fwp-content%2Fuploads%2F2024%2F03%2Freal-time-decision-support-notifications-personalized-app-image.png&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +## Citizen Science + +### Create Your Own Studies + +Anyone can create a study, become a prestigious scientist, get a link, and invite all their friends to join! + +![](/_next/image?url=https%3A%2F%2Ffdai.earth%2Fwp-content%2Fuploads%2F2024%2F03%2Fcreate-study.gif&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +### Global Scale Studies + +Studies are published in a Wikipedia for clinical research based on everyone's data, listing the likely effects of every food and drug. + +![](/_next/image?url=https%3A%2F%2Ffdai.earth%2Fwp-content%2Fuploads%2F2024%2F03%2Fclinipedia-landing.gif&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +### Mega-Studies + +Look up your condition and see how different foods, drugs and supplements tend to improve or worsen your condition. + +![](/_next/image?url=https%3A%2F%2Ffdai.earth%2Fwp-content%2Fuploads%2F2024%2F03%2Fclinipedia-inflammatory-pain-small.gif&w=640&q=75&dpl=dpl_G132KGUmRbiJytnwrsqKLgcPQszY) + +## Stay Up to Date! + +Join our newsletter to receive updates on clinical trials, research breakthroughs, and ways to get involved. + +We'll keep you informed about the latest developments in decentralized clinical research. + +Subscribe + +- [dFDA](https://www.dfda.earth/) +- [Studies](https://studies.dfda.earth/) +- [Digital Twin Safe](https://www.dfda.earth/safe/redirect) +- [FDAi](https://fdai.earth/) +- [Disease Eradication Act](https://www.dfda.earth/docs/disease-eradication-act) +- [50/50 Health Savings Sharing Program](https://www.dfda.earth/docs/health-savings-sharing) +- [Report Bug](https://github.com/decentralized-fda/decentralized-fda/issues/new?template=bug_report.yaml) +- [Request Feature](https://github.com/decentralized-fda/decentralized-fda/issues/new?template=feature_request.yaml) +- [GitHub](https://github.com/decentralized-fda/decentralized-fda) +- [Docs](https://www.dfda.earth/docs) + +© 2023 dFDA - Accelerating discovery to minimize suffering in the universe! 🚀 \ No newline at end of file diff --git a/implementation-plan.md b/implementation-plan.md new file mode 100644 index 00000000..c5d83259 --- /dev/null +++ b/implementation-plan.md @@ -0,0 +1,351 @@ +# dFDA Implementation Plan: Privacy-Preserving Treatment Review Aggregation + +## Overview +This document outlines the implementation plan for creating a privacy-preserving system that aggregates treatment reviews from client apps to rank treatments by effectiveness. + +## 1. Standardized Identifiers & Sources + +### 1.1 Decentralized Identifier System +- [ ] Implement content-addressable identifiers (e.g., using IPFS CIDs or similar) +- [ ] Create canonical naming system for treatments, conditions, and symptoms +- [ ] Version control for identifier changes and updates +- [ ] Mapping system between different naming conventions (e.g., ICD-10, SNOMED CT) + +### 1.2 Treatment Source Tracking +- [ ] Source metadata schema: +```typescript +interface TreatmentSource { + id: string; // Unique source identifier + name: string; // Source name (e.g., "Walgreens", "CVS", "FDA") + type: 'manufacturer' | 'retailer' | 'pharmacy' | 'regulatory' | 'research'; + url?: string; // Where to get the treatment + verificationStatus: 'verified' | 'unverified' | 'disputed'; + qualityMetrics?: { + gmpCertified?: boolean; // Good Manufacturing Practice + thirdPartyTested?: boolean; + regulatoryApprovals?: string[]; + batchTesting?: boolean; + }; + costRange?: { + min: number; + max: number; + currency: string; + lastUpdated: string; + }; +} +``` + +### 1.3 Identifier Registry +- [ ] Public registry of all known identifiers +- [ ] Bidirectional mapping between common medical vocabularies +- [ ] API endpoints for identifier resolution +- [ ] Contribution system for adding new identifiers +- [ ] Verification process for identifier accuracy + +### 1.4 Source Verification System +- [ ] Source verification criteria +- [ ] Quality assessment metrics +- [ ] Community feedback mechanism +- [ ] Dispute resolution process +- [ ] Regular source auditing + +## 2. Privacy & Identity + +### 2.1 Zero-Knowledge Identity System +- [ ] Implement zero-knowledge proof system for user identity verification +- [ ] Create privacy-preserving user fingerprinting: +```typescript +interface AnonymousUserProof { + // Proof that the user is human (e.g., using zk-SNARK) + humanityProof: string; + + // Deterministic but anonymous identifier derived from user's identity + // Different apps can generate the same ID for the same user without knowing who they are + deterministicId: string; + + // Proof that this ID belongs to the user without revealing their identity + ownershipProof: string; + + // Optional: age/location attestation for regulatory compliance + // Proves user is in allowed jurisdiction/age without revealing specific details + attestations?: { + minimumAge?: string; // Proof user is above required age + jurisdiction?: string; // Proof user is in allowed jurisdiction + }; +} + +interface TreatmentSubmissionProof { + // Proves this is a real treatment experience without revealing user + experienceProof: string; + + // Proves user hasn't submitted this treatment data before + uniquenessProof: string; + + // Timestamp of experience with proof of ordering + // Allows temporal analysis without revealing exact dates + timeProof: { + orderProof: string; // Proves chronological order of events + periodProof: string; // Proves experience falls within claimed period + }; + + // Optional: Proof of relevant medical conditions + // Allows filtering by patient characteristics without revealing specifics + conditionProofs?: Array<{ + conditionId: string; + validityProof: string; + }>; +} +``` + +### 2.2 Deduplication System +- [ ] Implement privacy-preserving data deduplication: + - Use deterministic anonymous IDs to identify same user across apps + - Maintain Merkle tree of all submissions per user + - Check new submissions against existing proofs + - Allow users to prove they haven't submitted before +- [ ] Create submission verification system: + - Verify proofs of real experience + - Check temporal consistency + - Validate condition attestations + - Ensure regulatory compliance + +### 2.3 Privacy-Preserving Analytics +- [ ] Implement secure aggregation protocols: + - Use homomorphic encryption for aggregate calculations + - Ensure k-anonymity in all reported statistics + - Implement differential privacy for sensitive metrics +- [ ] Create secure multi-party computation system: + - Allow multiple apps to contribute data without revealing individual user data + - Enable cross-app analytics without compromising privacy + - Support federated learning for treatment effectiveness models + +### 2.4 User Rights & Control +- [ ] Implement user data management: + - Allow users to prove ownership of their submissions + - Enable users to update or remove their data using zero-knowledge proofs + - Support data portability without compromising anonymity +- [ ] Create audit system: + - Maintain public log of all proofs and verifications + - Enable users to verify their data handling + - Support regulatory compliance verification + +## 1. API Infrastructure + +### 1.1 Client App Registration System +- [ ] OAuth2 authentication system for client apps +- [ ] Client app registration portal + - Application name + - Organization details + - Platform information + - Data types provided +- [ ] Client credential management +- [ ] Rate limiting implementation + +### 1.2 Data Ingestion API +- [ ] Treatment data endpoint (`/api/v1/treatments/aggregate`) + - Validation for required fields + - Data format verification + - Rate limiting + - Error handling +- [ ] Batch ingestion support for multiple treatments +- [ ] API versioning system +- [ ] Data validation endpoints + +### 1.3 Required Data Format +```typescript +interface AggregatedTreatmentData { + // Required fields + treatmentId: string; // Content-addressable identifier + conditionId: string; // Content-addressable identifier + source: { + id: string; // Reference to TreatmentSource + batch?: string; // Optional batch identifier + variant?: string; // Optional variant identifier + references?: Array<{ // Links to external data sources + type: 'pubchem' | 'drugbank' | 'pubmed' | 'clinicaltrials' | 'fda'; + id: string; // ID in the external system + url: string; // Direct URL to the reference + }>; + }; + // Zero-knowledge proofs + proofs: { + submissionProof: TreatmentSubmissionProof; + userProof: AnonymousUserProof; + aggregationProof: string; // Proves aggregation was done correctly + }; + aggregationPeriod: { + startDate: string; + endDate: string; + }; + metrics: { + userCount: number; + outcomeDistribution: { + majorImprovement: number; + moderateImprovement: number; + noEffect: number; + worse: number; + muchWorse: number; + }; + averageTreatmentDurationDays: number; + sideEffects: Array<{ + name: string; // Should use standardized symptom identifiers + frequency: number; // percentage + severity: 'mild' | 'moderate' | 'severe'; + }>; + // Optional fields + costData?: { + averageMonthlyCost: number; + currency: string; + }; + qualityMetrics?: { + dataCompleteness: number; // percentage + userRetention: number; // percentage + verificationLevel: 'high' | 'medium' | 'low'; + }; + // Analysis Results + analysisResults?: { + efficacy: { + responseRate: number; // Percentage showing significant improvement + numberNeededToTreat: number; // Number needed to treat for one positive outcome + qalysGained?: number; // Quality-adjusted life years gained + costPerQaly?: number; // Cost per QALY + }; + safety: { + adverseEventRate: number; // Percentage experiencing adverse events + severeAdverseEventRate: number; // Percentage with severe adverse events + drugInteractionRisk: 'low' | 'medium' | 'high'; + contraindications: string[]; // List of contraindicated conditions + }; + populationData: { + demographicBreakdown: { + age: Record; // Distribution by age groups + gender: Record; // Distribution by gender + ethnicity: Record; // Distribution by ethnicity + }; + comorbidities: Array<{ + condition: string; // Comorbid condition identifier + frequency: number; // Percentage of users + impact: 'positive' | 'negative' | 'neutral'; + }>; + }; + }; + }; +} +``` + +## 2. Data Processing Pipeline + +### 2.1 Data Validation +- [ ] Input validation system +- [ ] Data quality checks +- [ ] Outlier detection +- [ ] Consistency verification + +### 2.2 Aggregation System +- [ ] Real-time aggregation pipeline +- [ ] Historical data management +- [ ] Data normalization +- [ ] Statistical analysis tools + +### 2.3 Treatment Ranking Algorithm +- [ ] Effectiveness score calculation + - Treatment success rates + - Side effect severity weighting + - Cost-effectiveness factors + - Duration of treatment consideration +- [ ] Confidence score calculation +- [ ] Regular re-ranking schedule + +## 3. Website Features + +### 3.1 Treatment Rankings Display +- [ ] Sortable treatment lists +- [ ] Filtering capabilities +- [ ] Search functionality +- [ ] Condition-specific views + +### 3.2 Data Visualization +- [ ] Treatment comparison charts +- [ ] Success rate visualizations +- [ ] Side effect frequency graphs +- [ ] Cost comparison tools + +### 3.3 Developer Resources +- [ ] API documentation +- [ ] SDK downloads +- [ ] Integration guides +- [ ] Example code +- [ ] Testing tools + +## 4. Privacy & Security + +### 4.1 Security Measures +- [ ] End-to-end encryption +- [ ] Rate limiting +- [ ] API key rotation +- [ ] Access logging +- [ ] Security monitoring + +### 4.2 Privacy Protection +- [ ] Minimum threshold for displaying aggregated data +- [ ] Rounding of statistics +- [ ] No individual data storage +- [ ] Automated PII detection and removal + +## 5. Documentation + +### 5.1 API Documentation +- [ ] OpenAPI/Swagger documentation +- [ ] Authentication guides +- [ ] Rate limiting details +- [ ] Error code reference + +### 5.2 Integration Guides +- [ ] Client app integration guide +- [ ] Data format specifications +- [ ] Best practices +- [ ] Example implementations + +### 5.3 Privacy Documentation +- [ ] Data handling policies +- [ ] Privacy protection measures +- [ ] Compliance requirements +- [ ] Data retention policies + +## 6. Testing & Validation + +### 6.1 API Testing +- [ ] Unit tests +- [ ] Integration tests +- [ ] Load testing +- [ ] Security testing + +### 6.2 Data Quality +- [ ] Validation tests +- [ ] Edge case handling +- [ ] Error recovery +- [ ] Data consistency checks + +## 7. Monitoring & Maintenance + +### 7.1 System Monitoring +- [ ] API performance monitoring +- [ ] Error tracking +- [ ] Usage statistics +- [ ] Security monitoring + +### 7.2 Data Quality Monitoring +- [ ] Data validation metrics +- [ ] Aggregation accuracy +- [ ] Ranking algorithm performance +- [ ] Client app compliance + +## Next Steps +1. Set up basic API infrastructure +2. Implement client registration system +3. Create data ingestion endpoints +4. Develop aggregation pipeline +5. Build ranking algorithm +6. Create visualization components +7. Write documentation +8. Deploy monitoring systems \ No newline at end of file diff --git a/lower-costs-of-validated-observational-research-for-efficacy.md b/lower-costs-of-validated-observational-research-for-efficacy.md new file mode 100644 index 00000000..67b203d1 --- /dev/null +++ b/lower-costs-of-validated-observational-research-for-efficacy.md @@ -0,0 +1,26 @@ +--- +description: >- + Observational real-world evidence-based studies have several advantages over + randomized, controlled trials, including lower cost, increased speed of + research, and a broader range of patients. +--- + +# 👀 Lower Costs of Validated Observational Research for Efficacy + +**Meta-Analyses Support of Real-World Evidence** + +Observational real-world evidence-based studies have several advantages over randomized, controlled trials, including lower cost, increased speed of research, and a broader range of patients. However, concern about inherent bias in these studies has limited their use in comparing treatments. Observational studies have been primarily used when randomized, controlled trials would be impossible or unethical. + +However, [meta-analyses](https://www.nejm.org/doi/full/10.1056/NEJM200006223422506) found that: + +> when applying modern statistical methodologies to observational studies, the results are generally **not quantitatively or qualitatively different** from those obtained in randomized, controlled trials. + +**Mortality Observational Studies** + +![Mortality Observational Studies](https://static.crowdsourcingcures.org/dfda/assets/observational-vs-randomized-effect-sizes.png) + +**Observational Studies for Various Outcomes** + +![Observational Studies for Various Outcomes](https://static.crowdsourcingcures.org/dfda/assets/observational-vs-randomized-trial-effect-sizes.png) + +**** diff --git a/more-cures-and-less-lifelong-attempts-at-masking-symptoms.md b/more-cures-and-less-lifelong-attempts-at-masking-symptoms.md new file mode 100644 index 00000000..1ed57f18 --- /dev/null +++ b/more-cures-and-less-lifelong-attempts-at-masking-symptoms.md @@ -0,0 +1,13 @@ +--- +description: >- + High Costs Punish Finding Cures Over Masking Symptoms Since Cures Are Far Less + Profitable Than Lifetime Treatments +--- + +# 🎭 More Cures and Less Lifelong Attempts at Masking Symptoms + +If the new treatment is a permanent cure for the disease, replacing a lifetime of refills with a one-time purchase would be economically disastrous for the drug developer. With a lifetime prescription, a company can recover its costs over time. Depending on the number of people with the disease, one-time cures would require a massive upfront payment to recover development costs. + +How is there any financial incentive for medical progress at all? + +Fortunately, there isn't a complete monopoly on treatment development. However, the more expensive it is to get a drug to market, the fewer companies can afford the upfront R\&D investment. So the drug industry inevitably becomes more monopolistic. Thus, there are more situations where the cost of trials for a superior treatment exceeds the profits from existing treatments. diff --git a/one-pager.md b/one-pager.md new file mode 100644 index 00000000..8076c066 --- /dev/null +++ b/one-pager.md @@ -0,0 +1,99 @@ +### 🌐 Proposal: Decentralized Autonomous FDA (dFDA) + +#### **Mission:** +✨ Provide a global platform for **decentralized** 🌍 and **automated** 🤖 clinical research to: +- Evaluate treatments 💊 +- Rank their effectiveness 📊 +- Enable easy trial participation 🧪 +- Accelerate affordable cures to reduce suffering ❤️ + +--- + +### 🎯 **Goals** + +1. **💰 Reduce Costs:** + Slash the trial and approval cost of a new drug from **$56M** to **$2.4M** using **automation**, **economies of scale**, and **decentralization**. + *(Details 👉 [dfda.earth/dfda#cost-savings](https://www.dfda.earth/dfda#cost-savings))* + +2. **🧑‍⚕️ Personalized Treatment Recommendations:** + Give everyone their own personal **FDAi 🤖 agent** to analyze personal health data and recommend the **safest** and **most effective treatments** tailored just for them! + +3. **📖 Comprehensive Transparency:** + Open a public, open-access database 📚 showing the **real-world benefits** and **harms** of all foods 🥦 and drugs 💊, ranked by effectiveness. *(More at 👉 [studies.dfda.earth](https://studies.dfda.earth))* + +4. **🚀 Regulatory Transformation:** + Eliminate regulatory cost barriers 🚫💰 and automate approvals using **quantitative cost-benefit analysis** 📈 based on **real-world evidence**. + +--- + +### 🛠️ **Key Features** + +#### 1. **FDAi: Your Personal FDA AI Agent** 🤖 +- **Analyze Personal Data:** FDAi recommends therapies based on your medical history 🩺, biomarkers 🔬, and responses to treatment. +- **Adaptive Recommendations:** FDAi updates recommendations in real-time ⏱️ based on new data 📊, ensuring ongoing safety and precision. +- **Seamless Participation:** Join trials and contribute data easily 🖱️! +*(Details 👉 [fdai.earth](https://fdai.earth))* + +--- + +#### 2. **Great Features** 🌐 + +🧑‍🔬 **Empowering Patients, Scientists, and Developers:** +- **🔍 Search and Compare Treatments:** + - Browse the **positive** ✅ and **negative** ❌ effects of foods and drugs. + - See **ranked lists** of the most effective treatments for any condition! + - Compare options based on **safety**, **efficacy**, **cost**, and **real-world evidence** 🛠️. + +- **⚡ Instant Trial Enrollment:** + - Join trials with one click! 🖱️ + - Automatically receive medications 💊, schedule labs 🧪, and upload data 🔗. + +- **📡 Real-Time Data Integration:** + - Sync wearable data ⌚, lab results 🔬, and health records 📂. + - FDAi aggregates data to refine recommendations dynamically 🔄. + +- **🤖 Automated Approvals:** + - Cost-benefit algorithms 📈 determine approvals and rank treatments. + - Results are published as **open-access data** 📖, driving transparency and innovation. + +--- + +### 🌀 **How It Works** + +- **For Patients:** ❤️ + - Search for treatments or conditions 🔍. + - See the most effective treatments for any condition! + - Join trials, report outcomes, and contribute to research 📝. + +- **For Scientists and Drug Developers:** 🚀 + - Instantly create trials and recruit participants globally 🌍 + - Collect and analyze data automatically 🖥️. + - No regulatory fees! 💰🚫. + - Test treatments in decentralized trials with no delays 🕒. + - Receive real-world effectiveness data automatically 📊. + +--- + +### ⚙️ **Why It’s Possible** + +**Traditional trials = 💸 Inefficiency:** +- Manual recruitment 🧑‍🤝‍🧑. +- Fragmented data collection 🗂️. +- Administrative overhead 📋. + +**dFDA solves this with:** +1. **🤖 Automation:** AI replaces manual processes for data collection, analysis, and compliance. +2. **🌍 Decentralization:** Remote trials and local labs reduce costs. +3. **📈 Economies of Scale:** Global participation spreads costs across more people. + +--- + +### 🌟 **Impact** + +1. **💡 Affordable Innovation:** Developers can create cures without financial or regulatory barriers. +2. **🔬 Personalized Care:** FDAi ensures treatments are tailored to each individual. +3. **🌎 Global Accessibility:** Transparent, real-world data democratizes access to effective treatments. + +--- + +🚀💊 More info at 👉 [dfda.earth](https://www.dfda.earth). diff --git a/openapi-huge.yml b/openapi-huge.yml new file mode 100644 index 00000000..f78b5750 --- /dev/null +++ b/openapi-huge.yml @@ -0,0 +1,7771 @@ +x-stoplight: + id: e2dd35f0e728f +info: + title: Decentralized FDA API + description: A platform for quantifying the effects of every drug, supplement, food, and other factor on your health. + contact: + name: hello@quantimo.do + license: + name: GNU General Public License v3 (GPL-3) + url: 'https://tldrlegal.com/license/gnu-general-public-license-v3-(gpl-3)' + version: 0.0.1 +servers: + - url: 'https://safe.dfda.earth/api' + description: Production Server +tags: + - name: units + description: Available units for measurements + externalDocs: + description: See it in action + url: 'https://web.quantimo.do/#/app/measurement-search?accessToken=demo' + - name: variables + description: 'Can be used for search auto-complete for data types like symptoms, foods and treatments and include statistics' + externalDocs: + description: Search for a variable + url: 'https://web.quantimo.do/#/app/reminder-search?accessToken=demo' + - name: measurements + description: 'Measurements are any value that can be recorded like daily steps, a mood rating, or apples eaten.' + externalDocs: + description: See it in action + url: 'https://web.quantimo.do/#/app/history-all-category/Anything?accessToken=demo' + - name: analytics + description: Identify the strongest predictors of a given outcome and generate studies + externalDocs: + description: Try it out + url: 'https://web.quantimo.do/#/app/predictor-search' + - name: connectors + description: Import data from third-party apps and devices like Fitbit and Mint. + externalDocs: + description: Import your data now + url: 'https://web.quantimo.do/#/app/import' + - name: reminders + description: Users can be reminded to track certain variables at a specified frequency with a default value. + externalDocs: + description: See it in action + url: 'https://web.quantimo.do/#/app/reminders-inbox?accessToken=demo' + - name: user + description: Get or update user info and settings + externalDocs: + description: See it in action + url: 'https://web.quantimo.do/#/app/settings?accessToken=demo' + - name: studies + description: Automatically generated natural language studies examining the relationship between a predictor and outcome variable including charts. + externalDocs: + description: Search for a study + url: 'https://web.quantimo.do/#/app/studies' +paths: + /v3/units: + get: + tags: + - units + summary: Get units + description: Get a list of the available measurement units + operationId: getUnits + responses: + '200': + description: Successful operation + content: + application/json: + schema: + type: array + description: Array of units + items: + $ref: '#/components/schemas/Unit' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/variables: + get: + tags: + - variables + summary: Get variables along with related user-specific analysis settings and statistics + description: 'Get variables. If the user has specified variable settings, these are provided instead of the common variable defaults.' + operationId: getVariables + parameters: + - $ref: '#/components/parameters/includeChartsParam' + - $ref: '#/components/parameters/numberOfRawMeasurementsParam' + - $ref: '#/components/parameters/variableCategoryNameParam' + - name: name + in: query + description: 'Name of the variable. To get results matching a substring, add % as a wildcard as the first and/or last character of a query string parameter. In order to get variables that contain `Mood`, the following query should be used: ?variableName=%Mood%' + schema: + type: string + - $ref: '#/components/parameters/variableNameParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/sourceNameParam' + - $ref: '#/components/parameters/earliestMeasurementTimeParam' + - $ref: '#/components/parameters/latestMeasurementTimeParam' + - name: id + in: query + description: Common variable id + schema: + type: integer + - $ref: '#/components/parameters/lastSourceParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/includePublicParam' + - $ref: '#/components/parameters/manualTrackingParam' + - $ref: '#/components/parameters/clientIdParam' + - name: upc + in: query + description: UPC or other barcode scan result + schema: + type: string + - $ref: '#/components/parameters/effectOrCauseParam' + - $ref: '#/components/parameters/publicEffectOrCauseParam' + - $ref: '#/components/parameters/exactMatchParam' + - $ref: '#/components/parameters/variableCategoryIdParam' + - $ref: '#/components/parameters/includePrivateParam' + - $ref: '#/components/parameters/searchPhraseParam' + - $ref: '#/components/parameters/synonymsParam' + - $ref: '#/components/parameters/taggedVariableIdParam' + - $ref: '#/components/parameters/tagVariableIdParam' + - name: joinVariableId + in: query + description: 'Id of the variable you would like to get variables that can be joined to. This is used to merge duplicate variables. If joinVariableId is specified, this returns only variables eligible to be joined to the variable specified by the joinVariableId.' + schema: + type: integer + - name: parentUserTagVariableId + in: query + description: 'Id of the parent category variable (i.e. Fruit) you would like to get eligible child sub-type variables (i.e. Apple) for. Child variable measurements will be included in analysis of the parent variable. For instance, a child sub-type of the parent category Fruit could be Apple. When Apple is tagged with the parent category Fruit, Apple measurements will be included when Fruit is analyzed.' + schema: + type: integer + - name: childUserTagVariableId + in: query + description: 'Id of the child sub-type variable (i.e. Apple) you would like to get eligible parent variables (i.e. Fruit) for. Child variable measurements will be included in analysis of the parent variable. For instance, a child sub-type of the parent category Fruit could be Apple. When Apple is tagged with the parent category Fruit, Apple measurements will be included when Fruit is analyzed.' + schema: + type: integer + - name: ingredientUserTagVariableId + in: query + description: 'Id of the ingredient variable (i.e. Fructose) you would like to get eligible ingredientOf variables (i.e. Apple) for. IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredientOf of variable Fruit could be Apple.' + schema: + type: integer + - name: ingredientOfUserTagVariableId + in: query + description: 'Id of the ingredientOf variable (i.e. Apple) you would like to get eligible ingredient variables (i.e. Fructose) for. IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredientOf of variable Fruit could be Apple.' + schema: + type: integer + - name: commonOnly + in: query + description: Return only public and aggregated common variable data instead of user-specific variables + schema: + type: boolean + - name: userOnly + in: query + description: 'Return only user-specific variables and data, excluding common aggregated variable data' + schema: + type: boolean + - $ref: '#/components/parameters/includeTagsParam' + - $ref: '#/components/parameters/recalculate' + - $ref: '#/components/parameters/variableIdParam' + - $ref: '#/components/parameters/conciseParam' + - name: refresh + in: query + description: Regenerate charts instead of getting from the cache + schema: + type: boolean + responses: + '200': + description: Variables returned + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Variable' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/userVariables: + get: + tags: + - variables + summary: Get variables along with related user-specific analysis settings and statistics + description: 'Get variables. If the user has specified variable settings, these are provided instead of the common variable defaults.' + operationId: getUserVariables + parameters: + - $ref: '#/components/parameters/includeChartsParam' + - $ref: '#/components/parameters/numberOfRawMeasurementsParam' + - $ref: '#/components/parameters/variableCategoryNameParam' + - name: name + in: query + description: 'Name of the variable. To get results matching a substring, add % as a wildcard as the first and/or last character of a query string parameter. In order to get variables that contain `Mood`, the following query should be used: ?variableName=%Mood%' + schema: + type: string + - $ref: '#/components/parameters/variableNameParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/sourceNameParam' + - $ref: '#/components/parameters/earliestMeasurementTimeParam' + - $ref: '#/components/parameters/latestMeasurementTimeParam' + - name: id + in: query + description: Common variable id + schema: + type: integer + - $ref: '#/components/parameters/lastSourceParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/includePublicParam' + - $ref: '#/components/parameters/manualTrackingParam' + - $ref: '#/components/parameters/clientIdParam' + - name: upc + in: query + description: UPC or other barcode scan result + schema: + type: string + - $ref: '#/components/parameters/effectOrCauseParam' + - $ref: '#/components/parameters/publicEffectOrCauseParam' + - $ref: '#/components/parameters/exactMatchParam' + - $ref: '#/components/parameters/variableCategoryIdParam' + - $ref: '#/components/parameters/includePrivateParam' + - $ref: '#/components/parameters/searchPhraseParam' + - $ref: '#/components/parameters/synonymsParam' + - $ref: '#/components/parameters/taggedVariableIdParam' + - $ref: '#/components/parameters/tagVariableIdParam' + - name: joinVariableId + in: query + description: 'Id of the variable you would like to get variables that can be joined to. This is used to merge duplicate variables. If joinVariableId is specified, this returns only variables eligible to be joined to the variable specified by the joinVariableId.' + schema: + type: integer + - name: parentUserTagVariableId + in: query + description: 'Id of the parent category variable (i.e. Fruit) you would like to get eligible child sub-type variables (i.e. Apple) for. Child variable measurements will be included in analysis of the parent variable. For instance, a child sub-type of the parent category Fruit could be Apple. When Apple is tagged with the parent category Fruit, Apple measurements will be included when Fruit is analyzed.' + schema: + type: integer + - name: childUserTagVariableId + in: query + description: 'Id of the child sub-type variable (i.e. Apple) you would like to get eligible parent variables (i.e. Fruit) for. Child variable measurements will be included in analysis of the parent variable. For instance, a child sub-type of the parent category Fruit could be Apple. When Apple is tagged with the parent category Fruit, Apple measurements will be included when Fruit is analyzed.' + schema: + type: integer + - name: ingredientUserTagVariableId + in: query + description: 'Id of the ingredient variable (i.e. Fructose) you would like to get eligible ingredientOf variables (i.e. Apple) for. IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredientOf of variable Fruit could be Apple.' + schema: + type: integer + - name: ingredientOfUserTagVariableId + in: query + description: 'Id of the ingredientOf variable (i.e. Apple) you would like to get eligible ingredient variables (i.e. Fructose) for. IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredientOf of variable Fruit could be Apple.' + schema: + type: integer + - name: commonOnly + in: query + description: Return only public and aggregated common variable data instead of user-specific variables + schema: + type: boolean + - name: userOnly + in: query + description: 'Return only user-specific variables and data, excluding common aggregated variable data' + schema: + type: boolean + - $ref: '#/components/parameters/includeTagsParam' + - $ref: '#/components/parameters/recalculate' + - $ref: '#/components/parameters/variableIdParam' + - $ref: '#/components/parameters/conciseParam' + - name: refresh + in: query + description: Regenerate charts instead of getting from the cache + schema: + type: boolean + responses: + '200': + description: Variables returned + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Variable' + '401': + description: Not Authenticated + content: { } + security: + - bearerAuth: [ ] + - OAuth2: + - basic + post: + tags: + - variables + summary: Update User Settings for a Variable + description: 'Users can change the parameters used in analysis of that variable such as the expected duration of action for a variable to have an effect, the estimated delay before the onset of action. In order to filter out erroneous data, they are able to set the maximum and minimum reasonable daily values for a variable.' + operationId: postUserVariables + parameters: + - $ref: '#/components/parameters/includePrivateParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/includePublicParam' + - $ref: '#/components/parameters/searchPhraseParam' + - $ref: '#/components/parameters/exactMatchParam' + - $ref: '#/components/parameters/manualTrackingParam' + - $ref: '#/components/parameters/variableCategoryNameParam' + - $ref: '#/components/parameters/variableCategoryIdParam' + - $ref: '#/components/parameters/synonymsParam' + requestBody: + $ref: '#/components/requestBodies/userVariablesParam' + responses: + '201': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/CommonResponse' + '400': + description: The received JSON was invalid or malformed + content: { } + '401': + description: Not Authenticated + content: { } + '404': + description: Unknown target user ID + content: { } + security: + - bearerAuth: [ ] + - OAuth2: + - basic + /v3/measurements: + get: + tags: + - measurements + summary: Get measurements for this user + description: 'Measurements are any value that can be recorded like daily steps, a mood rating, or apples eaten.' + operationId: getMeasurements + parameters: + - $ref: '#/components/parameters/variableNameParam' + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/variableCategoryNameParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/sourceNameParam' + - $ref: '#/components/parameters/connectorNameParam' + - $ref: '#/components/parameters/valueParam' + - $ref: '#/components/parameters/unitNameParam' + - $ref: '#/components/parameters/earliestMeasurementTimeParam' + - $ref: '#/components/parameters/latestMeasurementTimeParam' + - $ref: '#/components/parameters/createdAtParam' + - name: id + in: query + description: Measurement id + schema: + type: integer + - $ref: '#/components/parameters/groupingWidthParam' + - $ref: '#/components/parameters/groupingTimezoneParam' + - $ref: '#/components/parameters/doNotProcessParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/doNotConvertParam' + - $ref: '#/components/parameters/minMaxFilterParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Measurement' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - readmeasurements + /v3/measurements/post: + post: + tags: + - measurements + summary: Save measurements + description: 'Store measurements representing things like a food eaten, a mood rating, or a medication taken. If the variable for the measurements does not already exist in the database, it will be automatically created.' + operationId: postMeasurements + requestBody: + description: An array of measurement sets containing measurement items you want to insert. + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/MeasurementItem' + required: true + responses: + '201': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/PostMeasurementsResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - writemeasurements + x-codegen-request-body-name: body + /v3/measurements/update: + post: + tags: + - measurements + summary: Update a measurement + description: Update a previously submitted measurement + operationId: updateMeasurement + requestBody: + description: 'The id as well as the new startAt, note, and/or value of the measurement to be updated' + content: + application/json: + schema: + $ref: '#/components/schemas/MeasurementUpdate' + required: true + responses: + '201': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/CommonResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + x-codegen-request-body-name: body + /v3/measurements/delete: + delete: + tags: + - measurements + summary: Delete a measurement + description: Delete a previously submitted measurement + operationId: deleteMeasurement + responses: + '204': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/CommonResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - writemeasurements + x-codegen-request-body-name: body + /v3/appSettings: + get: + tags: + - appSettings + summary: Get client app settings + description: 'Get the settings for your application configurable at https://builder.quantimo.do' + operationId: getAppSettings + parameters: + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/clientSecretParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/AppSettingsResponse' + '401': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/JsonErrorResponse' + '404': + description: Not found + content: {} + '500': + description: Internal server error + content: {} + /v2/spreadsheetUpload: + post: + tags: + - measurements + summary: Upload a spreadsheet with measurements + description: 'Import from a spreadsheet containing a Variable Name, Value, Measurement Event Time, and Abbreviated Unit Name field. Here is an example spreadsheet with allowed column names, units and time format.' + operationId: measurementSpreadsheetUpload + requestBody: + content: + multipart/form-data: + schema: + type: object + properties: + file: + type: string + format: binary + responses: + '201': + description: successful operation + content: + application/json: + schema: + type: integer + security: + - bearerAuth: [] + - OAuth2: + - basic + /v2/measurements/exportRequest: + post: + tags: + - measurements + summary: Post Request for Measurements CSV + description: Use this endpoint to schedule a CSV export containing all user measurements to be emailed to the user within 24 hours. + operationId: measurementExportRequest + responses: + '201': + description: successful operation + content: + application/json: + schema: + type: integer + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/connect/mobile: + get: + tags: + - connectors + summary: Mobile connect page + description: 'This page is designed to be opened in a webview. Instead of using popup authentication boxes, it uses redirection. You can include the user''s access_token as a URL parameter like https://api.quantimo.do/api/v3/connect/mobile?access_token=123' + operationId: getMobileConnectPage + responses: + '200': + description: Mobile connect page was returned + content: {} + '401': + description: User token is missing + content: {} + '403': + description: User token is incorrect + content: {} + /v3/connectors/list: + get: + tags: + - connectors + summary: List of Connectors + description: 'A connector pulls data from other data providers using their API or a screenscraper. Returns a list of all available connectors and information about them such as their id, name, whether the user has provided access, logo url, connection instructions, and the update history.' + operationId: getConnectors + parameters: + - $ref: '#/components/parameters/clientIdParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/GetConnectorsResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + '/v3/connectors/{connectorName}/connect': + get: + tags: + - connectors + summary: Obtain a token from 3rd party data source + description: 'Attempt to obtain a token from the data provider, store it in the database. With this, the connector to continue to obtain new user data until the token is revoked.' + operationId: connectConnector + parameters: + - $ref: '#/components/parameters/connectorNamePathParam' + responses: + '200': + description: Successful operation + content: {} + '401': + description: Not Authenticated + content: {} + '404': + description: Method not found. Could not execute the requested method. + content: {} + '500': + description: Error during update. Unsupported response from update(). + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + '/v3/connectors/{connectorName}/disconnect': + get: + tags: + - connectors + summary: Delete stored connection info + description: The disconnect method deletes any stored tokens or connection information from the connectors database. + operationId: disconnectConnector + parameters: + - $ref: '#/components/parameters/connectorNamePathParam' + responses: + '200': + description: Successful operation + content: {} + '401': + description: Not Authenticated + content: {} + '404': + description: Method not found. Could not execute the requested method. + content: {} + '500': + description: Error during update. Unsupported response from update(). + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + '/v3/connectors/{connectorName}/update': + get: + tags: + - connectors + summary: Sync with data source + description: The update method tells the QM Connector Framework to check with the data provider (such as Fitbit or MyFitnessPal) and retrieve any new measurements available. + operationId: updateConnector + parameters: + - $ref: '#/components/parameters/connectorNamePathParam' + responses: + '200': + description: Connection Successful + content: {} + '401': + description: Not Authenticated + content: {} + '404': + description: Method not found. Could not execute the requested method. + content: {} + '500': + description: Error during update. Unsupported response from update(). + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/correlations: + get: + tags: + - analytics + summary: Get user variable relationships + description: 'Get a list of user variable relationships that can be used to display top predictors of a given outcome like mood, for instance.' + operationId: getUserVariableRelationships + parameters: + - $ref: '#/components/parameters/causeVariableNameParam' + - $ref: '#/components/parameters/effectVariableNameParam' + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/correlationCoefficientParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/outcomesOfInterestParam' + - $ref: '#/components/parameters/clientIdParam' + - name: commonOnly + in: query + description: 'Return only public, anonymized and aggregated population data instead of user-specific variables' + schema: + type: boolean + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/GetUserVariableRelationshipsResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/deviceTokens: + post: + tags: + - notifications + summary: Post DeviceTokens + description: 'Post user token for Android, iOS, or web push notifications' + operationId: postDeviceToken + requestBody: + description: The platform and token + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceToken' + required: true + responses: + '201': + description: Successful operation + content: {} + '401': + description: Not authenticated + content: {} + '404': + description: Not found + content: {} + '500': + description: Internal server error + content: {} + x-codegen-request-body-name: body + /v3/feed: + get: + tags: + - feed + summary: 'Tracking reminder notifications, messages, and study results' + description: 'Tracking reminder notifications, messages, and study results' + operationId: getFeed + parameters: + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/createdAtParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/clientIdParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/FeedResponse' + security: + - bearerAuth: [] + - OAuth2: + - basic + post: + tags: + - feed + summary: Post user interactions with feed + description: Post user actions on feed cards + operationId: postFeed + parameters: + - $ref: '#/components/parameters/clientIdParam' + requestBody: + description: Id of the tracking reminder notification to be snoozed + content: + application/json: + schema: + type: array + description: Array of cards to take action on + items: + $ref: '#/components/schemas/Card' + required: true + responses: + '201': + description: Returns new feed cards + content: + application/json: + schema: + $ref: '#/components/schemas/FeedResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + x-codegen-request-body-name: body + /v3/integration.js: + get: + tags: + - connectors + summary: Get embeddable connect javascript + description: |- + Get embeddable connect javascript. Usage: + - Embedding in applications with popups for 3rd-party authentication + windows. + Use `qmSetupInPopup` function after connecting `connect.js`. + - Embedding in applications with popups for 3rd-party authentication + windows. + Requires a selector to block. It will be embedded in this block. + Use `qmSetupOnPage` function after connecting `connect.js`. + - Embedding in mobile applications without popups for 3rd-party + authentication. + Use `qmSetupOnMobile` function after connecting `connect.js`. + If using in a Cordova application call `qmSetupOnIonic` function after connecting `connect.js`. + operationId: getIntegrationJs + parameters: + - $ref: '#/components/parameters/clientIdParam' + responses: + '200': + description: Embeddable connect javascript was returned + content: {} + /v3/notificationPreferences: + get: + tags: + - notifications + summary: Get NotificationPreferences + description: Get NotificationPreferences + operationId: getNotificationPreferences + responses: + '200': + description: Successful operation + content: {} + '401': + description: Not authenticated + content: {} + '404': + description: Not found + content: {} + '500': + description: Internal server error + content: {} + /oauth/authorize: + get: + tags: + - authentication + summary: Request Authorization Code + description: You can implement OAuth2 authentication to your application using our **OAuth2** endpoints. You need to redirect users to `/oauth/authorize` endpoint to get an authorization code and include the parameters below. This page will ask the user if they want to allow a client's application to submit or obtain data from their QM account. It will redirect the user to the url provided by the client application with the code as a query parameter or error in case of an error. See the /oauth/access_token endpoint for the next steps. + operationId: getOauthAuthorizationCode + parameters: + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/clientSecretParam' + - $ref: '#/components/parameters/responseTypeParam' + - $ref: '#/components/parameters/scopeParam' + - $ref: '#/components/parameters/redirectUriParam' + - $ref: '#/components/parameters/stateParam' + responses: + '200': + description: Successful Operation + content: {} + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /oauth/token: + get: + tags: + - authentication + summary: Get a user access token + description: 'Client provides authorization token obtained from /oauth/authorize to this endpoint and receives an access token. Access token can then be used to query API endpoints. ### Request Access Token After user approves your access to the given scope form the https:/api.quantimo.do/oauth/authorize endpoint, you''ll receive an authorization code to request an access token. This time make a `POST` request to `/oauth/access_token` with parameters including: * `grant_type` Can be `authorization_code` or `refresh_token` since we are getting the `access_token` for the first time we don''t have a `refresh_token` so this must be `authorization_code`. * `code` Authorization code you received with the previous request. * `redirect_uri` Your application''s redirect url. ### Refreshing Access Token Access tokens expire at some point, to continue using our api you need to refresh them with `refresh_token` you received along with the `access_token`. To do this make a `POST` request to `/oauth/access_token` with correct parameters, which are: * `grant_type` This time grant type must be `refresh_token` since we have it. * `clientId` Your application''s client id. * `client_secret` Your application''s client secret. * `refresh_token` The refresh token you received with the `access_token`. Every request you make to this endpoint will give you a new refresh token and make the old one expired. So you can keep getting new access tokens with new refresh tokens. ### Using Access Token Currently we support 2 ways for this, you can''t use both at the same time. * Adding access token to the request header as `Authorization: Bearer {access_token}` * Adding to the url as a query parameter `?access_token={access_token}` You can read more about OAuth2 from [here](https://oauth.net/2/)' + operationId: getAccessToken + parameters: + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/clientSecretParam' + - $ref: '#/components/parameters/grantTypeParam' + - $ref: '#/components/parameters/codeParam' + - $ref: '#/components/parameters/responseTypeParam' + - $ref: '#/components/parameters/scopeParam' + - $ref: '#/components/parameters/redirectUriParam' + - $ref: '#/components/parameters/stateParam' + responses: + '200': + description: Successful Operation + content: {} + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/shares: + get: + tags: + - shares + summary: 'Get Authorized Apps, Studies, and Individuals' + description: 'This is a list of individuals, apps, or studies with access to your measurements.' + operationId: getShares + parameters: + - $ref: '#/components/parameters/createdAtParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/appVersionParam' + - $ref: '#/components/parameters/log' + - $ref: '#/components/parameters/pwd' + responses: + '200': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/GetSharesResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - writemeasurements + /v3/shares/delete: + post: + tags: + - shares + summary: Delete share + description: 'Remove access to user data for a given client_id associated with a given individual, app, or study' + operationId: deleteShare + parameters: + - name: clientIdToRevoke + in: query + description: 'Client id of the individual, study, or app that the user wishes to no longer have access to their data' + required: true + schema: + type: string + - name: reason + in: query + description: 'Ex: I hate you!' + schema: + type: string + responses: + '204': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/User' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - writemeasurements + /v3/shares/invite: + post: + tags: + - shares + summary: Delete share + description: Invite someone to view your measurements + operationId: inviteShare + parameters: + - $ref: '#/components/parameters/clientIdParam' + requestBody: + description: Details about person to share with + content: + application/json: + schema: + $ref: '#/components/schemas/ShareInvitationBody' + required: true + responses: + '204': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/User' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - writemeasurements + x-codegen-request-body-name: body + /v3/studies: + get: + tags: + - studies + summary: Get Personal or Population Studies + description: 'If you have enough data, this will be a list of your personal studies, otherwise it will consist of aggregated population studies.' + operationId: getStudies + parameters: + - $ref: '#/components/parameters/causeVariableNameParam' + - $ref: '#/components/parameters/effectVariableNameParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/includeChartsParam' + - $ref: '#/components/parameters/recalculate' + - $ref: '#/components/parameters/studyClientIdParam' + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/correlationCoefficientParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/outcomesOfInterestParam' + - $ref: '#/components/parameters/principalInvestigatorUserIdParam' + - $ref: '#/components/parameters/openParam' + - $ref: '#/components/parameters/joinedParam' + - $ref: '#/components/parameters/createdParam' + - $ref: '#/components/parameters/aggregatedParam' + - $ref: '#/components/parameters/downVotedParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/GetStudiesResponse' + '401': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/JsonErrorResponse' + '404': + description: Not found + content: {} + '500': + description: Internal server error + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/studies/open: + get: + tags: + - studies + summary: These are open studies that anyone can join + description: These are studies that anyone can join and share their data for the predictor and outcome variables of interest. + operationId: getOpenStudies + parameters: + - $ref: '#/components/parameters/causeVariableNameParam' + - $ref: '#/components/parameters/effectVariableNameParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/includeChartsParam' + - $ref: '#/components/parameters/recalculate' + - $ref: '#/components/parameters/studyClientIdParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/GetStudiesResponse' + '401': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/JsonErrorResponse' + '404': + description: Not found + content: {} + '500': + description: Internal server error + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/studies/joined: + get: + tags: + - studies + summary: Studies You Have Joined + description: These are studies that you are currently sharing your data with. + operationId: getStudiesJoined + parameters: + - $ref: '#/components/parameters/causeVariableNameParam' + - $ref: '#/components/parameters/effectVariableNameParam' + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/correlationCoefficientParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/outcomesOfInterestParam' + - $ref: '#/components/parameters/clientIdParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/GetStudiesResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/studies/created: + get: + tags: + - studies + summary: Get studies you have created + description: These are studies that you have created. + operationId: getStudiesCreated + parameters: + - $ref: '#/components/parameters/causeVariableNameParam' + - $ref: '#/components/parameters/effectVariableNameParam' + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/clientIdParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/GetStudiesResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/study/publish: + post: + tags: + - studies + summary: Publish Your Study + description: Make a study and all related measurements publicly visible by anyone + operationId: publishStudy + parameters: + - $ref: '#/components/parameters/causeVariableNameParam' + - $ref: '#/components/parameters/effectVariableNameParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/includeChartsParam' + - $ref: '#/components/parameters/recalculate' + - $ref: '#/components/parameters/studyClientIdParam' + responses: + '201': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/PostStudyPublishResponse' + '401': + description: Not authenticated + content: {} + '404': + description: Not found + content: {} + '500': + description: Internal server error + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/study/join: + post: + tags: + - studies + summary: Join a Study + description: Anonymously share measurements for specified variables + operationId: joinStudy + parameters: + - $ref: '#/components/parameters/studyClientIdParam' + - $ref: '#/components/parameters/causeVariableNameParam' + - $ref: '#/components/parameters/effectVariableNameParam' + - $ref: '#/components/parameters/clientIdParam' + responses: + '201': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/StudyJoinResponse' + '401': + description: Not authenticated + content: {} + '404': + description: Not found + content: {} + '500': + description: Internal server error + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/study/create: + post: + tags: + - studies + summary: Create a Study + description: 'Create an individual, group, or population study examining the relationship between a predictor and outcome variable. You will be given a study id which you can invite participants to join and share their measurements for the specified variables.' + operationId: createStudy + parameters: + - $ref: '#/components/parameters/clientIdParam' + requestBody: + description: Details about the study you want to create + content: + application/json: + schema: + $ref: '#/components/schemas/StudyCreationBody' + required: true + responses: + '201': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/PostStudyCreateResponse' + '401': + description: Not authenticated + content: {} + '404': + description: Not found + content: {} + '500': + description: Internal server error + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + x-codegen-request-body-name: body + /v3/trackingReminderNotifications: + get: + tags: + - reminders + summary: Get specific tracking reminder notifications + description: Specific tracking reminder notification instances that still need to be tracked. + operationId: getTrackingReminderNotifications + parameters: + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/createdAtParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/variableCategoryNameParam' + - $ref: '#/components/parameters/reminderTimeParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/onlyPastParam' + - $ref: '#/components/parameters/includeDeletedParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/GetTrackingReminderNotificationsResponse' + security: + - bearerAuth: [] + - OAuth2: + - basic + post: + tags: + - reminders + summary: 'Snooze, skip, or track a tracking reminder notification' + description: 'Snooze, skip, or track a tracking reminder notification' + operationId: postTrackingReminderNotifications + parameters: + - $ref: '#/components/parameters/clientIdParam' + requestBody: + description: Id of the tracking reminder notification to be snoozed + content: + application/json: + schema: + type: array + description: Array of TrackingReminderNotifications to take action on + items: + $ref: '#/components/schemas/TrackingReminderNotificationPost' + required: true + responses: + '201': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/CommonResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + x-codegen-request-body-name: body + /v3/trackingReminders: + get: + tags: + - reminders + summary: Get repeating tracking reminder settings + description: Users can be reminded to track certain variables at a specified frequency with a default value. + operationId: getTrackingReminders + parameters: + - $ref: '#/components/parameters/variableCategoryNameParam' + - $ref: '#/components/parameters/createdAtParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/appVersionParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackingReminder' + security: + - bearerAuth: [] + - OAuth2: + - basic + post: + tags: + - reminders + summary: Store a Tracking Reminder + description: This is to enable users to create reminders to track a variable with a default value at a specified frequency + operationId: postTrackingReminders + requestBody: + description: TrackingReminder that should be stored + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/TrackingReminder' + required: true + responses: + '201': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/PostTrackingRemindersResponse' + security: + - bearerAuth: [] + - OAuth2: + - basic + x-codegen-request-body-name: body + /v3/trackingReminders/delete: + delete: + tags: + - reminders + summary: Delete Tracking Reminder + description: Stop getting notifications to record data for a variable. Previously recorded measurements will be preserved. + operationId: deleteTrackingReminder + responses: + '204': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/CommonResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + x-codegen-request-body-name: body + /v3/unitCategories: + get: + tags: + - units + summary: Get unit categories + description: 'Get a list of the categories of measurement units such as ''Distance'', ''Duration'', ''Energy'', ''Frequency'', ''Miscellany'', ''Pressure'', ''Proportion'', ''Rating'', ''Temperature'', ''Volume'', and ''Weight''.' + operationId: getUnitCategories + responses: + '200': + description: Successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/UnitCategory' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/user: + get: + tags: + - user + summary: Get user info + description: 'Returns user info. If no userId is specified, returns info for currently authenticated user' + operationId: getUser + parameters: + - $ref: '#/components/parameters/createdAtParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/appVersionParam' + - $ref: '#/components/parameters/clientUserIdParam' + - $ref: '#/components/parameters/log' + - $ref: '#/components/parameters/pwd' + - $ref: '#/components/parameters/includeAuthorizedClientsParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/User' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + post: + tags: + - user + summary: Create or update user + description: "Include your your system's user id as the clientUserId to make sure you can identify the user in your system. If the user already exists, the user will be updated with the new information." + operationId: postUser + requestBody: + description: User info to update + content: + application/json: + schema: + $ref: '#/components/schemas/UserPostBody' + required: true + responses: + '201': + description: Successful operation + '401': + description: Not found + security: + - ClientIdHeader: [ ] + ClientSecretHeader: [ ] + - bearerAuth: [] + - OAuth2: + - basic + x-codegen-request-body-name: body + /v3/users: + get: + tags: + - user + summary: Get users who shared data + description: Returns users who have granted access to their data + operationId: getUsers + parameters: + - $ref: '#/components/parameters/createdAtParam' + - $ref: '#/components/parameters/updatedAtParam' + - $ref: '#/components/parameters/limitParam' + - $ref: '#/components/parameters/offsetParam' + - $ref: '#/components/parameters/sortParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/appVersionParam' + - $ref: '#/components/parameters/clientUserIdParam' + - $ref: '#/components/parameters/log' + - $ref: '#/components/parameters/pwd' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/UsersResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/user/delete: + delete: + tags: + - user + summary: Delete user + description: Delete user account. Only the client app that created a user can delete that user. + operationId: deleteUser + parameters: + - $ref: '#/components/parameters/clientIdParam' + - name: reason + in: query + description: 'Ex: I hate you!' + required: true + schema: + type: string + responses: + '204': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/CommonResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - writemeasurements + /v3/userSettings: + post: + tags: + - user + summary: Post UserSettings + description: Post UserSettings + operationId: postUserSettings + parameters: + - $ref: '#/components/parameters/clientIdParam' + requestBody: + description: User settings to update + content: + application/json: + schema: + $ref: '#/components/schemas/User' + required: true + responses: + '201': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/PostUserSettingsResponse' + '401': + description: Not authenticated + content: {} + '404': + description: Not found + content: {} + '500': + description: Internal server error + content: {} + x-codegen-request-body-name: body + /v3/userTags: + post: + tags: + - variables + summary: Post or update user tags or ingredients + description: This endpoint allows users to tag foods with their ingredients. This information will then be used to infer the user intake of the different ingredients by just entering the foods. The inferred intake levels will then be used to determine the effects of different nutrients on the user during analysis. + operationId: postUserTags + requestBody: + description: Contains the new user tag data + content: + application/json: + schema: + $ref: '#/components/schemas/UserTag' + required: true + responses: + '201': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/CommonResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + x-codegen-request-body-name: body + /v3/userTags/delete: + delete: + tags: + - variables + summary: Delete user tag or ingredient + description: Delete previously created user tags or ingredients. + operationId: deleteUserTag + parameters: + - $ref: '#/components/parameters/taggedVariableIdParam' + - $ref: '#/components/parameters/tagVariableIdParam' + responses: + '204': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/CommonResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/userVariables/delete: + delete: + tags: + - variables + summary: Delete All Measurements For Variable + description: Users can delete all of their measurements for a variable + operationId: deleteUserVariable + responses: + '204': + description: Successful operation + content: {} + '400': + description: The received JSON was invalid or malformed + content: {} + '401': + description: Not Authenticated + content: {} + '404': + description: Unknown target user ID + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/userVariables/reset: + post: + tags: + - variables + summary: Reset user settings for a variable to defaults + description: Reset user settings for a variable to defaults + operationId: resetUserVariableSettings + requestBody: + $ref: '#/components/requestBodies/variableIdBodyParam' + responses: + '201': + description: Successful operation + content: {} + '400': + description: The received JSON was invalid or malformed + content: {} + '401': + description: Not Authenticated + content: {} + '404': + description: Unknown target user ID + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/variableCategories: + get: + tags: + - variables + summary: Variable categories + description: 'The variable categories include Activity, Causes of Illness, Cognitive Performance, Conditions, Environment, Foods, Location, Miscellaneous, Mood, Nutrition, Physical Activity, Physique, Sleep, Social Interactions, Symptoms, Treatments, Vital Signs, and Goals.' + operationId: getVariableCategories + responses: + '200': + description: Successful operation + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/VariableCategory' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + /v3/votes: + post: + tags: + - studies + summary: Post or update vote + description: 'I am really good at finding user_variable_relationships and even compensating for various onset delays and durations of action. However, you are much better than me at knowing if there''s a way that a given factor could plausibly influence an outcome. You can help me learn and get better at my predictions by pressing the thumbs down button for relationships that you think are coincidences and thumbs up once that make logic sense.' + operationId: postVote + requestBody: + description: 'Contains the cause variable, effect variable, and vote value.' + content: + application/json: + schema: + $ref: '#/components/schemas/Vote' + required: true + responses: + '201': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/CommonResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + x-codegen-request-body-name: body + /v3/votes/delete: + delete: + tags: + - studies + summary: Delete vote + description: Delete previously posted vote + operationId: deleteVote + responses: + '204': + description: Successful Operation + content: + application/json: + schema: + $ref: '#/components/schemas/CommonResponse' + '401': + description: Not Authenticated + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic + x-codegen-request-body-name: body + /v4/study: + get: + tags: + - studies + summary: Get Study + description: Get Study + operationId: getStudy + parameters: + - $ref: '#/components/parameters/causeVariableNameParam' + - $ref: '#/components/parameters/effectVariableNameParam' + - $ref: '#/components/parameters/clientIdParam' + - $ref: '#/components/parameters/includeChartsParam' + - $ref: '#/components/parameters/recalculate' + - $ref: '#/components/parameters/studyClientIdParam' + responses: + '200': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/Study' + '401': + description: Successful operation + content: + application/json: + schema: + $ref: '#/components/schemas/JsonErrorResponse' + '404': + description: Not found + content: {} + '500': + description: Internal server error + content: {} + security: + - bearerAuth: [] + - OAuth2: + - basic +components: + schemas: + AppSettings: + type: object + properties: + additionalSettings: + type: object + properties: {} + appDescription: + type: string + appDesign: + type: object + properties: {} + appDisplayName: + type: string + appStatus: + type: object + properties: {} + appType: + type: string + buildEnabled: + type: string + clientId: + type: string + description: 'Get yours at https:://builder.quantimo.do' + clientSecret: + type: string + description: 'Get yours at https:://builder.quantimo.do' + collaborators: + type: array + items: + $ref: '#/components/schemas/User' + createdAt: + type: string + userId: + type: integer + description: User id of the owner of the application + format: int32 + users: + type: array + items: + $ref: '#/components/schemas/User' + redirectUri: + type: string + companyName: + type: string + homepageUrl: + type: string + iconUrl: + type: string + longDescription: + type: string + splashScreen: + type: string + textLogo: + type: string + AppSettingsResponse: + required: + - description + - summary + type: object + properties: + appSettings: + $ref: '#/components/schemas/AppSettings' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + AuthorizedClients: + required: + - apps + - individuals + - studies + type: object + properties: + apps: + type: array + description: Applications with access to user measurements for all variables + items: + $ref: '#/components/schemas/AppSettings' + individuals: + type: array + description: Individuals such as physicians or family members with access to user measurements for all variables + items: + $ref: '#/components/schemas/AppSettings' + studies: + type: array + description: Studies with access to generally anonymous user measurements for a specific predictor and outcome variable + items: + $ref: '#/components/schemas/AppSettings' + Button: + required: + - link + - text + type: object + properties: + accessibilityText: + type: string + description: 'Ex: connect' + action: + type: object + properties: {} + description: Action data + additionalInformation: + type: string + description: 'Ex: connect' + color: + type: string + description: 'Ex: #f2f2f2' + confirmationText: + type: string + description: Text to show user before executing functionName + functionName: + type: string + description: Name of function to call + parameters: + type: object + properties: {} + description: Data to provide to functionName or be copied to the card parameters when button is clicked and card is posted to the API + html: + type: string + description: 'Ex: connect' + id: + type: string + description: HTML element id + image: + type: string + description: 'Ex: https://image.jpg' + ionIcon: + type: string + description: 'Ex: ion-refresh' + link: + type: string + description: 'Ex: https://local.quantimo.do' + stateName: + type: string + description: State to go to + stateParams: + type: object + properties: {} + description: Data to provide to the state + successToastText: + type: string + description: Text to show user after executing functionName + successAlertTitle: + type: string + description: Text to show user after executing functionName + successAlertBody: + type: string + description: Text to show user after executing functionName + text: + type: string + description: 'Ex: Connect' + tooltip: + type: string + description: 'Ex: This is a tooltip' + webhookUrl: + type: string + description: Post here on button click + Card: + required: + - id + type: object + properties: + actionSheetButtons: + type: array + items: + $ref: '#/components/schemas/Button' + avatar: + type: string + description: Smaller square image + avatarCircular: + type: string + description: Smaller circular image + backgroundColor: + type: string + description: 'Ex: #f2f2f2' + buttons: + type: array + items: + $ref: '#/components/schemas/Button' + buttonsSecondary: + type: array + items: + $ref: '#/components/schemas/Button' + content: + type: string + description: 'Ex: Content' + headerTitle: + type: string + description: 'Ex: Title' + html: + type: string + description: HTML for the entire card. + htmlContent: + type: string + description: 'Ex:
Content
' + id: + type: string + description: HTML element id + image: + type: string + description: Larger image of variable dimensions + inputFields: + type: array + items: + $ref: '#/components/schemas/InputField' + ionIcon: + type: string + description: 'Ex: ion-refresh' + link: + type: string + description: A link to a web page or something. Not much more to say about that. + parameters: + type: object + properties: {} + description: 'Key value pairs derived from user input fields, button clicks, or preset defaults' + selectedButton: + $ref: '#/components/schemas/Button' + sharingBody: + type: string + description: 'Ex: sharingBody' + sharingButtons: + type: array + items: + $ref: '#/components/schemas/Button' + sharingTitle: + type: string + description: 'Ex: sharingTitle' + subHeader: + type: string + description: 'Ex: subTitle' + subTitle: + type: string + description: 'Ex: subTitle' + title: + type: string + description: 'Ex: Title' + Chart: + type: object + properties: + highchartConfig: + type: object + properties: {} + description: ' Highcharts config that can be used if you have highcharts.js included on the page' + chartId: + type: string + description: 'Ex: correlationScatterPlot' + chartTitle: + type: string + description: 'Ex: Overall Mood following Sleep Duration (R = -0.173)' + explanation: + type: string + description: 'Ex: The chart above indicates that an increase in Sleep Duration is usually followed by a decrease in Overall Mood.' + svgUrl: + type: string + description: Url to a static svg of the chart + svg: + type: string + description: SVG string than can be embedded directly in HTML + CommonResponse: + required: + - description + - summary + type: object + properties: + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + ConnectInstructions: + required: + - url + type: object + properties: + parameters: + type: array + description: Create a form with these fields and post the key and user submitted value to the provided connect url + items: + type: object + properties: {} + url: + type: string + description: URL to open to connect + usePopup: + type: boolean + description: True if should open auth window in popup + ConversionStep: + required: + - operation + - value + type: object + properties: + operation: + type: string + description: ADD or MULTIPLY + enum: + - ADD + - MULTIPLY + value: + type: number + description: This specifies the order of conversion steps starting with 0 + format: double + HyperParameterCorrelation: + required: + - causeVariableName + - effectVariableName + type: object + properties: + averageDailyHighCause: + type: number + description: 'Ex: 4.19' + format: double + averageDailyLowCause: + type: number + description: 'Ex: 1.97' + format: double + averageEffect: + type: number + description: 'Ex: 3.0791054117396' + format: double + averageEffectFollowingHighCause: + type: number + description: 'Ex: 3.55' + format: double + averageEffectFollowingLowCause: + type: number + description: 'Ex: 2.65' + format: double + averageForwardPearsonCorrelationOverOnsetDelays: + type: number + description: 'Ex: 0.396' + format: double + averageReversePearsonCorrelationOverOnsetDelays: + type: number + description: 'Ex: 0.453667' + format: double + averageVote: + type: number + description: 'Ex: 0.9855' + causeChanges: + type: integer + description: 'Ex: 164' + causeDataSource: + $ref: '#/components/schemas/DataSource' + causeUserVariableShareUserMeasurements: + type: integer + description: 'Ex: 1' + causeVariableCategoryId: + type: integer + description: 'Ex: 6' + causeVariableCategoryName: + type: string + description: 'Ex: Sleep' + causeVariableCombinationOperation: + type: string + description: 'Ex: MEAN' + causeVariableUnitAbbreviatedName: + type: string + description: 'Ex: /5' + causeVariableId: + type: integer + description: 'Ex: 1448' + causeVariableMostCommonConnectorId: + type: integer + description: 'Ex: 6' + causeVariableName: + type: string + description: 'Ex: Sleep Quality' + confidenceInterval: + type: number + description: 'Ex: 0.14344467795996' + format: double + confidenceLevel: + type: string + description: 'Ex: high' + correlationCoefficient: + type: number + description: 'Ex: 0.538' + format: double + correlationIsContradictoryToOptimalValues: + type: boolean + description: 'Ex: false' + createdAt: + type: string + description: 'Ex: 2016-12-28 20:47:30 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + criticalTValue: + type: number + description: 'Calculated Statistic: Ex: 1.646' + format: double + direction: + type: string + description: 'Ex: higher' + durationOfAction: + type: integer + description: 'User-Defined Variable Setting: The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Seconds' + durationOfActionInHours: + type: number + description: 'User-Defined Variable Setting: The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Hours' + format: float + degreesOfFreedom: + type: integer + description: 'Ex: 200' + effectNumberOfProcessedDailyMeasurements: + type: integer + description: 'Ex: 145' + error: + type: string + description: 'Ex: optimalPearsonProduct is not defined' + effectChanges: + type: integer + description: 'Ex: 193' + effectDataSource: + $ref: '#/components/schemas/DataSource' + effectSize: + type: string + description: 'Ex: moderately positive' + effectUnit: + type: string + description: 'Ex: /5' + effectUserVariableShareUserMeasurements: + type: integer + description: 'Ex: 1' + effectVariableCategoryId: + type: integer + description: 'Ex: 1' + effectVariableCategoryName: + type: string + description: 'Ex: Emotions' + effectVariableCombinationOperation: + type: string + description: 'Ex: MEAN' + effectVariableCommonAlias: + type: string + description: 'Ex: Mood_(psychology)' + effectVariableUnitAbbreviatedName: + type: string + description: 'Ex: /5' + effectVariableUnitId: + type: integer + description: 'Ex: 10' + effectVariableUnitName: + type: string + description: 'Ex: 1 to 5 Rating' + effectVariableId: + type: integer + description: 'Ex: 1398' + effectVariableMostCommonConnectorId: + type: integer + description: 'Ex: 10' + effectVariableName: + type: string + description: 'Ex: Overall Mood' + experimentEndTime: + type: string + description: 'Ex: 2014-07-30 12:50:00 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + experimentStartTime: + type: string + description: 'Ex: 2012-05-06 21:15:00 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + forwardSpearmanCorrelationCoefficient: + type: number + description: 'Ex: 0.528359' + format: double + numberOfPairs: + type: integer + description: 'Ex: 298' + onsetDelay: + type: integer + description: 'Ex: 0' + onsetDelayInHours: + type: number + description: 'Ex: 0' + format: float + onsetDelayWithStrongestPearsonCorrelation: + type: integer + description: 'Ex: -86400' + onsetDelayWithStrongestPearsonCorrelationInHours: + type: number + description: 'Ex: -24' + format: float + optimalPearsonProduct: + type: number + description: 'Ex: 0.68582816186982' + format: double + outcomeFillingValue: + type: integer + description: 'User-Defined Variable Setting: Ex: -1. Unit: User-specified or common.' + outcomeMaximumAllowedValue: + type: number + description: 'User-Defined Variable Setting: Ex: 23. Unit: User-specified or common.' + format: double + outcomeMinimumAllowedValue: + type: number + description: 'User-Defined Variable Setting: Ex: 0.1. Unit: User-specified or common.' + format: double + pearsonCorrelationWithNoOnsetDelay: + type: number + description: 'Ex: 0.477' + format: double + predictivePearsonCorrelation: + type: number + description: 'Ex: 0.538' + format: double + predictivePearsonCorrelationCoefficient: + type: number + description: 'Ex: 0.538' + format: double + predictorDataSources: + type: string + description: 'Ex: RescueTime' + predictorFillingValue: + type: integer + description: 'Ex: -1. Unit: User-specified or common.' + predictorMaximumAllowedValue: + type: number + description: 'Ex: 200. Unit: User-specified or common.' + format: double + predictorMinimumAllowedValue: + type: number + description: 'Ex: 30. Unit: User-specified or common.' + format: double + predictsHighEffectChange: + type: integer + description: 'Ex: 17. Unit: User-specified or common.' + predictsLowEffectChange: + type: integer + description: 'Ex: -11. Unit: User-specified or common.' + pValue: + type: number + description: 'Ex: 0.39628900511586' + format: double + qmScore: + type: number + description: 'Ex: 0.528' + format: double + reversePearsonCorrelationCoefficient: + type: number + description: 'Ex: 0.01377184270977' + format: double + shareUserMeasurements: + type: boolean + description: Would you like to make this study publicly visible? + sharingDescription: + type: string + description: 'Ex: N1 Study: Sleep Quality Predicts Higher Overall Mood' + sharingTitle: + type: string + description: 'Ex: N1 Study: Sleep Quality Predicts Higher Overall Mood' + significantDifference: + type: boolean + description: 'Ex: 1' + statisticalSignificance: + type: number + description: 'Ex: 0.9813' + format: double + strengthLevel: + type: string + description: 'Ex: moderate' + strongestPearsonCorrelationCoefficient: + type: number + description: 'Ex: 0.613' + format: double + studyHtml: + $ref: '#/components/schemas/StudyHtml' + studyImages: + $ref: '#/components/schemas/StudyImages' + studyLinks: + $ref: '#/components/schemas/StudyLinks' + studyText: + $ref: '#/components/schemas/StudyText' + tValue: + type: number + description: 'Ex: 9.6986079652717' + format: double + updatedAt: + type: string + description: 'Ex: 2017-05-06 15:40:38 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + userId: + type: integer + description: 'Ex: 230' + userVote: + type: integer + description: 'Ex: 1' + valuePredictingHighOutcome: + type: number + description: 'Ex: 4.14' + format: double + valuePredictingLowOutcome: + type: number + description: 'Ex: 3.03' + format: double + outcomeDataSources: + type: string + description: Sources used to collect data for the outcome variable + principalInvestigator: + type: string + description: Mike Sinn + reverseCorrelation: + type: number + description: 'User Variable Relationship when cause and effect are reversed. For any causal relationship, the forward correlation should exceed the reverse correlation.' + averagePearsonCorrelationCoefficientOverOnsetDelays: + type: number + description: 'Ex: ' + format: float + causeNumberOfRawMeasurements: + type: integer + description: 'Ex: 14764' + numberOfUsers: + type: number + description: 'Ex: 1' + rawCauseMeasurementSignificance: + type: number + description: 'Ex: 1' + format: double + rawEffectMeasurementSignificance: + type: number + description: 'Ex: 1' + format: double + reversePairsCount: + type: string + description: 'Ex: 1' + voteStatisticalSignificance: + type: integer + description: 'Ex: 1' + aggregateQMScore: + type: number + description: 'Ex: 0.011598441286655' + format: double + forwardPearsonCorrelationCoefficient: + type: number + description: 'Ex: 0.0333' + format: double + numberOfCorrelations: + type: integer + description: 'Ex: 6' + vote: + type: number + description: 'Ex: 1 or 0' + Correlation: + required: + - causeVariableName + - effectVariableName + type: object + properties: + averageDailyHighCause: + type: number + description: 'Ex: 4.19' + format: double + averageDailyLowCause: + type: number + description: 'Ex: 1.97' + format: double + averageEffect: + type: number + description: 'Ex: 3.0791054117396' + format: double + averageEffectFollowingHighCause: + type: number + description: 'Ex: 3.55' + format: double + averageEffectFollowingLowCause: + type: number + description: 'Ex: 2.65' + format: double + averageForwardPearsonCorrelationOverOnsetDelays: + type: number + description: 'Ex: 0.396' + format: double + averageReversePearsonCorrelationOverOnsetDelays: + type: number + description: 'Ex: 0.453667' + format: double + averageVote: + type: number + description: 'Ex: 0.9855' + causeChanges: + type: integer + description: 'Ex: 164' + causeDataSource: + $ref: '#/components/schemas/DataSource' + causeUserVariableShareUserMeasurements: + type: integer + description: 'Ex: 1' + causeVariableCategoryId: + type: integer + description: 'Ex: 6' + causeVariableCategoryName: + type: string + description: 'Ex: Sleep' + causeVariableCombinationOperation: + type: string + description: 'Ex: MEAN' + causeVariableUnitAbbreviatedName: + type: string + description: 'Ex: /5' + causeVariableId: + type: integer + description: 'Ex: 1448' + causeVariableMostCommonConnectorId: + type: integer + description: 'Ex: 6' + causeVariableName: + type: string + description: 'Ex: Sleep Quality' + confidenceInterval: + type: number + description: 'Ex: 0.14344467795996' + format: double + confidenceLevel: + type: string + description: 'Ex: high' + correlationCoefficient: + type: number + description: 'Ex: 0.538' + format: double + correlationIsContradictoryToOptimalValues: + type: boolean + description: 'Ex: false' + createdAt: + type: string + description: 'Ex: 2016-12-28 20:47:30 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + criticalTValue: + type: number + description: 'Calculated Statistic: Ex: 1.646' + format: double + direction: + type: string + description: 'Ex: higher' + durationOfAction: + type: integer + description: 'User-Defined Variable Setting: The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Seconds' + durationOfActionInHours: + type: number + description: 'User-Defined Variable Setting: The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Hours' + format: float + degreesOfFreedom: + type: integer + description: 'Ex: 200' + effectNumberOfProcessedDailyMeasurements: + type: integer + description: 'Ex: 145' + error: + type: string + description: 'Ex: optimalPearsonProduct is not defined' + effectChanges: + type: integer + description: 'Ex: 193' + effectDataSource: + $ref: '#/components/schemas/DataSource' + effectSize: + type: string + description: 'Ex: moderately positive' + effectUnit: + type: string + description: 'Ex: /5' + effectUserVariableShareUserMeasurements: + type: integer + description: 'Ex: 1' + effectVariableCategoryId: + type: integer + description: 'Ex: 1' + effectVariableCategoryName: + type: string + description: 'Ex: Emotions' + effectVariableCombinationOperation: + type: string + description: 'Ex: MEAN' + effectVariableCommonAlias: + type: string + description: 'Ex: Mood_(psychology)' + effectVariableUnitAbbreviatedName: + type: string + description: 'Ex: /5' + effectVariableUnitId: + type: integer + description: 'Ex: 10' + effectVariableUnitName: + type: string + description: 'Ex: 1 to 5 Rating' + effectVariableId: + type: integer + description: 'Ex: 1398' + effectVariableMostCommonConnectorId: + type: integer + description: 'Ex: 10' + effectVariableName: + type: string + description: 'Ex: Overall Mood' + experimentEndTime: + type: string + description: 'Ex: 2014-07-30 12:50:00 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + experimentStartTime: + type: string + description: 'Ex: 2012-05-06 21:15:00 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + forwardSpearmanCorrelationCoefficient: + type: number + description: 'Ex: 0.528359' + format: double + numberOfPairs: + type: integer + description: 'Ex: 298' + onsetDelay: + type: integer + description: 'Ex: 0' + onsetDelayInHours: + type: number + description: 'Ex: 0' + format: float + onsetDelayWithStrongestPearsonCorrelation: + type: integer + description: 'Ex: -86400' + onsetDelayWithStrongestPearsonCorrelationInHours: + type: number + description: 'Ex: -24' + format: float + optimalPearsonProduct: + type: number + description: 'Ex: 0.68582816186982' + format: double + outcomeFillingValue: + type: integer + description: 'User-Defined Variable Setting: Ex: -1. Unit: User-specified or common.' + outcomeMaximumAllowedValue: + type: number + description: 'User-Defined Variable Setting: Ex: 23. Unit: User-specified or common.' + format: double + outcomeMinimumAllowedValue: + type: number + description: 'User-Defined Variable Setting: Ex: 0.1. Unit: User-specified or common.' + format: double + pearsonCorrelationWithNoOnsetDelay: + type: number + description: 'Ex: 0.477' + format: double + predictivePearsonCorrelation: + type: number + description: 'Ex: 0.538' + format: double + predictivePearsonCorrelationCoefficient: + type: number + description: 'Ex: 0.538' + format: double + predictorDataSources: + type: string + description: 'Ex: RescueTime' + predictorFillingValue: + type: integer + description: 'Ex: -1. Unit: User-specified or common.' + predictorMaximumAllowedValue: + type: number + description: 'Ex: 200. Unit: User-specified or common.' + format: double + predictorMinimumAllowedValue: + type: number + description: 'Ex: 30. Unit: User-specified or common.' + format: double + predictsHighEffectChange: + type: integer + description: 'Ex: 17. Unit: User-specified or common.' + predictsLowEffectChange: + type: integer + description: 'Ex: -11. Unit: User-specified or common.' + pValue: + type: number + description: 'Ex: 0.39628900511586' + format: double + qmScore: + type: number + description: 'Ex: 0.528' + format: double + reversePearsonCorrelationCoefficient: + type: number + description: 'Ex: 0.01377184270977' + format: double + shareUserMeasurements: + type: boolean + description: Would you like to make this study publicly visible? + sharingDescription: + type: string + description: 'Ex: N1 Study: Sleep Quality Predicts Higher Overall Mood' + sharingTitle: + type: string + description: 'Ex: N1 Study: Sleep Quality Predicts Higher Overall Mood' + significantDifference: + type: boolean + description: 'Ex: 1' + statisticalSignificance: + type: number + description: 'Ex: 0.9813' + format: double + strengthLevel: + type: string + description: 'Ex: moderate' + strongestPearsonCorrelationCoefficient: + type: number + description: 'Ex: 0.613' + format: double + studyHtml: + $ref: '#/components/schemas/StudyHtml' + studyImages: + $ref: '#/components/schemas/StudyImages' + studyLinks: + $ref: '#/components/schemas/StudyLinks' + studyText: + $ref: '#/components/schemas/StudyText' + tValue: + type: number + description: 'Ex: 9.6986079652717' + format: double + updatedAt: + type: string + description: 'Ex: 2017-05-06 15:40:38 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + userId: + type: integer + description: 'Ex: 230' + userVote: + type: integer + description: 'Ex: 1' + valuePredictingHighOutcome: + type: number + description: 'Ex: 4.14' + format: double + valuePredictingLowOutcome: + type: number + description: 'Ex: 3.03' + format: double + outcomeDataSources: + type: string + description: Sources used to collect data for the outcome variable + principalInvestigator: + type: string + description: Mike Sinn + reverseCorrelation: + type: number + description: 'User Variable Relationship when cause and effect are reversed. For any causal relationship, the forward correlation should exceed the reverse correlation.' + averagePearsonCorrelationCoefficientOverOnsetDelays: + type: number + description: 'Ex: ' + format: float + causeNumberOfRawMeasurements: + type: integer + description: 'Ex: 14764' + correlationsOverDurationsOfAction: + type: array + description: VariableRelationships calculated with various duration of action hyper-parameters + items: + $ref: '#/components/schemas/HyperParameterCorrelation' + correlationsOverOnsetDelays: + type: array + description: VariableRelationships calculated with various onset delay hyper-parameters + items: + $ref: '#/components/schemas/HyperParameterCorrelation' + correlationsOverDurationsOfActionChartConfig: + type: object + properties: {} + description: Highchart config illustrating user_variable_relationships calculated with various duration of action hyper-parameters + correlationsOverOnsetDelaysChartConfig: + type: object + properties: {} + description: Highchart config illustrating user_variable_relationships calculated with various onset delay hyper-parameters + numberOfUsers: + type: number + description: 'Ex: 1' + rawCauseMeasurementSignificance: + type: number + description: 'Ex: 1' + format: double + rawEffectMeasurementSignificance: + type: number + description: 'Ex: 1' + format: double + reversePairsCount: + type: string + description: 'Ex: 1' + voteStatisticalSignificance: + type: integer + description: 'Ex: 1' + aggregateQMScore: + type: number + description: 'Ex: 0.011598441286655' + format: double + forwardPearsonCorrelationCoefficient: + type: number + description: 'Ex: 0.0333' + format: double + numberOfCorrelations: + type: integer + description: 'Ex: 6' + vote: + type: number + description: 'Ex: 1 or 0' + DataSource: + required: + - affiliate + - connectorClientId + - defaultVariableCategoryName + - displayName + - enabled + - getItUrl + - id + - image + - imageHtml + - linkedDisplayNameHtml + - longDescription + - name + - shortDescription + type: object + properties: + affiliate: + type: boolean + description: 'Ex: true' + backgroundColor: + type: string + description: Background color HEX code that matches the icon + buttons: + type: array + items: + $ref: '#/components/schemas/Button' + card: + $ref: '#/components/schemas/Card' + clientId: + type: string + description: 'Your client id can be obtained by creating an app at https://builder.quantimo.do' + connected: + type: boolean + description: True if the authenticated user has this connector enabled + connectError: + type: string + description: 'Ex: Your token is expired. Please re-connect' + connectInstructions: + $ref: '#/components/schemas/ConnectInstructions' + connectorId: + type: integer + description: 'Ex: 8' + connectStatus: + type: string + description: 'Ex: CONNECTED' + count: + type: integer + description: Number of measurements from this source or number of users who have measurements from this source + createdAt: + type: string + description: 'Ex: 2000-01-01 00:00:00 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + connectorClientId: + type: string + description: 'Ex: ba7d0c12432650e23b3ce924ae2d21e2ff59e7e4e28650759633700af7ed0a30' + defaultVariableCategoryName: + type: string + description: 'Ex: Foods' + displayName: + type: string + description: 'Ex: CureDAO' + enabled: + type: integer + description: 'Ex: 0' + getItUrl: + type: string + description: 'Ex: https://quantimo.do' + id: + type: integer + description: 'Ex: 72' + image: + type: string + description: 'Ex: https://safe.dfda.earth/img/logos/curedao-logo-qm-rainbow-200-200.png' + imageHtml: + type: string + description: 'Ex: CureDAO' + lastSuccessfulUpdatedAt: + type: string + description: 'Ex: 2017-07-31 10:10:34 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + lastUpdate: + type: integer + description: Epoch timestamp of last sync + linkedDisplayNameHtml: + type: string + description: 'Ex: CureDAO' + longDescription: + type: string + description: 'Ex: CureDAO is a Chrome extension, Android app, iOS app, and web app that allows you to easily track mood, symptoms, or any outcome you want to optimize in a fraction of a second. You can also import your data from over 30 other apps and devices like Fitbit, Rescuetime, Jawbone Up, Withings, Facebook, GitHub, Google Calendar, Runkeeper, MoodPanda, Slice, Google Fit, and more. CureDAO then analyzes your data to identify which hidden factors are most likely to be influencing your mood or symptoms and their optimal daily values.' + message: + type: string + description: 'Ex: Got 412 new measurements on 2017-07-31 10:10:34' + mobileConnectMethod: + type: string + description: 'Mobile connect method: webview, cordova, google, spreadsheet, or ip' + name: + type: string + description: 'Ex: curedao' + platforms: + type: array + description: 'Platforms (chrome, android, ios, web) that you can connect on.' + items: + type: string + premium: + type: boolean + description: True if connection requires upgrade + scopes: + type: array + description: Required connector scopes + items: + type: string + shortDescription: + type: string + description: 'Ex: Tracks anything' + spreadsheetUploadLink: + type: string + description: URL to POST a spreadsheet to (if available for this data source) + totalMeasurementsInLastUpdate: + type: integer + description: Number of measurements obtained during latest update + updatedAt: + type: string + description: 'Ex: 2017-07-31 10:10:34 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + updateRequestedAt: + type: string + description: 'Ex: 2017-07-18 05:16:31 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + updateStatus: + type: string + description: 'Ex: UPDATED' + userId: + type: integer + description: 'Ex: 230' + DeviceToken: + required: + - deviceToken + - platform + type: object + properties: + clientId: + type: string + description: Client id + platform: + type: string + description: 'ios, android, or web' + deviceToken: + type: string + description: The device token + ErrorResponse: + required: + - message + type: object + properties: + message: + type: string + description: Error message + Explanation: + required: + - description + - image + - ionIcon + - startTracking + - title + type: object + properties: + description: + type: string + description: 'Ex: These factors are most predictive of Overall Mood based on your own data.' + image: + $ref: '#/components/schemas/Image' + ionIcon: + type: string + description: 'Ex: ion-ios-person' + startTracking: + $ref: '#/components/schemas/ExplanationStartTracking' + title: + type: string + description: 'Ex: Top Predictors of Overall Mood' + html: + type: string + description: Embeddable list of study summaries with explanation at the top + ExplanationStartTracking: + required: + - button + - description + - title + type: object + properties: + button: + $ref: '#/components/schemas/Button' + description: + type: string + description: 'Ex: The more data I have the more accurate your results will be so track regularly!' + title: + type: string + description: 'Ex: Improve Accuracy' + InputField: + required: + - displayName + - type + type: object + properties: + displayName: + type: string + helpText: + type: string + hint: + type: string + icon: + type: string + id: + type: string + description: HTML element id + image: + type: string + key: + type: string + labelLeft: + type: string + labelRight: + type: string + link: + type: string + maxLength: + type: integer + maxValue: + type: number + minLength: + type: integer + minValue: + type: number + options: + type: array + description: Selector list options + items: + type: string + placeholder: + type: string + description: 'Ex: Title' + postUrl: + type: string + required: + type: boolean + show: + type: boolean + description: 'Ex: Title' + submitButton: + $ref: '#/components/schemas/Button' + type: + type: string + description: 'Ex: Title' + enum: + - check_box + - date + - email + - number + - postal_code + - select_option + - string + - switch + - text_area + - unit + - variable_category + validationPattern: + type: string + description: 'See https://html5pattern.com/ for examples' + value: + type: string + GetConnectorsResponse: + required: + - description + - summary + type: object + properties: + connectors: + type: array + items: + $ref: '#/components/schemas/DataSource' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + GetCorrelationsDataResponse: + required: + - correlations + - explanation + type: object + properties: + correlations: + type: array + items: + $ref: '#/components/schemas/Correlation' + explanation: + $ref: '#/components/schemas/Explanation' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + GetUserVariableRelationshipsResponse: + required: + - description + - summary + type: object + properties: + data: + $ref: '#/components/schemas/GetCorrelationsDataResponse' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + avatar: + type: string + description: Square icon png url + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + GetStudiesResponse: + required: + - description + - summary + type: object + properties: + studies: + type: array + items: + $ref: '#/components/schemas/Study' + description: + type: string + description: 'Ex: These factors are most predictive of Overall Mood based on your own data.' + summary: + type: string + description: Can be used as title in help info popup + image: + $ref: '#/components/schemas/Image' + avatar: + type: string + description: Square icon png url + ionIcon: + type: string + description: 'Ex: ion-ios-person' + startTracking: + $ref: '#/components/schemas/ExplanationStartTracking' + title: + type: string + description: 'Ex: Top Predictors of Overall Mood' + html: + type: string + description: Embeddable list of study summaries with explanation at the top + GetSharesResponse: + required: + - description + - summary + type: object + properties: + authorizedClients: + $ref: '#/components/schemas/AuthorizedClients' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + FeedResponse: + required: + - cards + - description + - summary + type: object + properties: + cards: + type: array + items: + $ref: '#/components/schemas/Card' + description: + type: string + description: 'Tracking reminder notifications, messages, and study result cards that can be displayed in user feed or stream' + summary: + type: string + description: 'Tracking reminder notifications, messages, and study results' + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + GetTrackingReminderNotificationsResponse: + required: + - description + - summary + type: object + properties: + data: + type: array + items: + $ref: '#/components/schemas/TrackingReminderNotification' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + Image: + required: + - height + - imageUrl + - width + type: object + properties: + height: + type: string + description: 'Ex: 240' + imageUrl: + type: string + description: 'Ex: https://www.filepicker.io/api/file/TjmeNWS5Q2SFmtJlUGLf' + width: + type: string + description: 'Ex: 224' + JsonErrorResponse: + required: + - status + type: object + properties: + message: + type: string + description: Error message + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + Measurement: + required: + - sourceName + - startAt + - unitAbbreviatedName + - value + - variableName + type: object + properties: + card: + $ref: '#/components/schemas/Card' + clientId: + type: string + description: 'Ex: curedao' + connectorId: + type: integer + description: 'Ex: 13' + createdAt: + type: string + description: 'Ex: 2017-07-30 21:08:36' + displayValueAndUnitString: + type: string + description: 'Examples: 3/5, $10, or 1 count' + iconIcon: + type: string + description: 'Ex: ion-sad-outline' + id: + type: integer + description: 'Ex: 1051466127' + inputType: + type: string + description: 'Ex: value' + ionIcon: + type: string + description: 'Ex: ion-ios-medkit-outline' + manualTracking: + type: boolean + description: 'Ex: 1' + maximumAllowedValue: + type: number + description: 'Ex: 5. Unit: User-specified or common.' + format: double + minimumAllowedValue: + type: number + description: 'Ex: 1. Unit: User-specified or common.' + format: double + note: + type: string + description: Note of measurement + noteObject: + type: object + properties: {} + description: Additional meta data for the measurement + noteHtml: + type: object + properties: {} + description: Embeddable HTML with message hyperlinked with associated url + originalUnitId: + type: integer + description: 'Ex: 23' + originalValue: + type: number + description: 'Original value submitted. Unit: Originally submitted.' + format: double + pngPath: + type: string + description: 'Ex: img/variable_categories/treatments.png' + pngUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/treatments.png' + productUrl: + type: string + description: Link to associated product for purchase + sourceName: + type: string + description: Application or device used to record the measurement values + startDate: + type: string + description: 'Ex: 2014-08-27' + startAt: + type: string + description: 'Start Time for the measurement event in UTC ISO 8601 like 2020-01-01T12:12:12' + svgUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/treatments.svg' + unitAbbreviatedName: + type: string + description: Abbreviated name for the unit of measurement + unitCategoryId: + type: integer + description: 'Ex: 6' + unitCategoryName: + type: string + description: 'Ex: Miscellany' + unitId: + type: integer + description: 'Ex: 23' + unitName: + type: string + description: 'Ex: Count' + updatedAt: + type: string + description: 'Ex: 2017-07-30 21:08:36' + url: + type: string + description: 'Link to associated Facebook like or GitHub commit, for instance' + userVariableUnitAbbreviatedName: + type: string + description: 'Ex: count' + userVariableUnitCategoryId: + type: integer + description: 'Ex: 6' + userVariableUnitCategoryName: + type: string + description: 'Ex: Miscellany' + userVariableUnitId: + type: integer + description: 'Ex: 23' + userVariableUnitName: + type: string + description: 'Ex: Count' + userVariableVariableCategoryId: + type: integer + description: 'Ex: 13' + userVariableVariableCategoryName: + type: string + description: 'Ex: Treatments' + valence: + type: string + description: 'Valence indicates what type of buttons should be used when recording measurements for this variable. positive - Face buttons with the happiest face equating to a 5/5 rating where higher is better like Overall Mood. negative - Face buttons with the happiest face equating to a 1/5 rating where lower is better like Headache Severity. numeric - Just 1 to 5 numeric buttons for neutral variables. ' + value: + type: number + description: Converted measurement value in requested unit + format: double + variableCategoryId: + type: integer + description: 'Ex: 13' + variableCategoryImageUrl: + type: string + description: 'Ex: https://static.quantimo.do/img/variable_categories/pill-96.png' + variableCategoryName: + type: string + description: 'Ex: Emotions, Treatments, Symptoms...' + enum: + - Activity + - Books + - Causes of Illness + - Cognitive Performance + - Conditions + - Emotions + - Environment + - Foods + - Goals + - Locations + - Miscellaneous + - Movies and TV + - Music + - Nutrients + - Payments + - Physical Activities + - Physique + - Sleep + - Social Interactions + - Software + - Symptoms + - Treatments + - Vital Signs + variableDescription: + type: string + description: 'Valence indicates what type of buttons should be used when recording measurements for this variable. positive - Face buttons with the happiest face equating to a 5/5 rating where higher is better like Overall Mood. negative - Face buttons with the happiest face equating to a 1/5 rating where lower is better like Headache Severity. numeric - Just 1 to 5 numeric buttons for neutral variables. ' + variableId: + type: integer + description: 'Ex: 5956846' + variableName: + type: string + description: Name of the variable for which we are creating the measurement records + displayName: + type: string + description: 'Ex: Trader Joe Bedtime Tea' + MeasurementItem: + required: + - startAt + - value + - variableName + - unitAbbreviatedName + - variableCategoryName + - combinationOperation + type: object + properties: + startAt: + type: string + description: 'Start Time for the measurement event in UTC ISO 8601 like 2020-01-01T12:12:12' + default: '2022-01-01T00:00:00' + value: + type: number + description: Measurement value + format: double + default: '3' + variableCategoryName: + type: string + description: 'Ex: Emotions, Treatments, Symptoms...' + default: 'Emotions' + enum: + - Activity + - Books + - Causes of Illness + - Cognitive Performance + - Conditions + - Emotions + - Environment + - Foods + - Goals + - Locations + - Miscellaneous + - Movies and TV + - Music + - Nutrients + - Payments + - Physical Activities + - Physique + - Sleep + - Social Interactions + - Software + - Symptoms + - Treatments + - Vital Signs + variableName: + type: string + default: 'Overall Mood' + description: Name of the variable for which we are creating the measurement records + unitAbbreviatedName: + type: string + description: Unit of measurement + default: '/5' + combinationOperation: + type: string + description: 'Way to aggregate measurements over time. SUM should be used for things like minutes of exercise. If you use MEAN for exercise, then a person might exercise more minutes in one day but add separate measurements that were smaller. So when we are doing correlational analysis, we would think that the person exercised less that day even though they exercised more. Conversely, we must use MEAN for things such as ratings which cannot be SUMMED.' + enum: + - MEAN + - SUM + default: 'Mean' + sourceName: + type: string + description: Name of the application or device used to record the measurement values + upc: + type: string + description: UPC or other barcode scan result if you want to attach it to the variable name for recording measurements with a UPC scanner + note: + type: string + description: Optional note to include with the measurement + MeasurementUpdate: + required: + - id + type: object + properties: + id: + type: integer + description: Variable id of the measurement to be updated + note: + type: string + description: The new note for the measurement (optional) + startAt: + type: string + description: 'Start Time for the measurement event in UTC ISO 8601 like 2020-01-01T12:12:12' + value: + type: number + description: The new value of for the measurement (optional) + format: double + Pair: + required: + - causeMeasurement + - causeMeasurementValue + - causeVariableUnitAbbreviatedName + - effectMeasurement + - effectMeasurementValue + - effectVariableUnitAbbreviatedName + - timestamp + type: object + properties: + causeMeasurement: + type: number + description: 'Ex: 101341.66666667' + format: double + causeMeasurementValue: + type: number + description: 'Ex: 101341.66666667' + format: double + causeVariableUnitAbbreviatedName: + type: string + description: 'Ex: mg' + effectMeasurement: + type: number + description: 'Ex: 7.98' + format: double + effectMeasurementValue: + type: number + description: 'Ex: 7.98' + format: double + effectVariableUnitAbbreviatedName: + type: string + description: 'Ex: %' + eventAt: + type: string + description: 'Ex: 2015-08-06 15:49:02 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + eventAtUnixTime: + type: integer + description: 'Ex: 1438876142' + startAt: + type: string + description: 'Ex: 2015-08-06 15:49:02 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + timestamp: + type: integer + description: 'Ex: 1464937200' + ParticipantInstruction: + type: object + properties: + instructionsForCauseVariable: + type: string + description: 'Ex: Obtain Fitbit and use it to record your Sleep Duration. Once you have a Fitbit account, connect your Fitbit account at CureDAO to automatically import and analyze your data.' + instructionsForEffectVariable: + type: string + description: 'Ex: Obtain CureDAO and use it to record your Overall Mood. Once you have a CureDAO account, connect your CureDAO account at CureDAO to automatically import and analyze your data.' + PostMeasurementsDataResponse: + type: object + properties: + userVariables: + type: array + items: + $ref: '#/components/schemas/Variable' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + PostMeasurementsResponse: + required: + - status + - success + type: object + properties: + data: + $ref: '#/components/schemas/PostMeasurementsDataResponse' + message: + type: string + description: Message + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + PostStudyPublishResponse: + type: object + properties: + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + PostStudyCreateResponse: + type: object + properties: + study: + $ref: '#/components/schemas/Study' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + PostTrackingRemindersDataResponse: + type: object + properties: + trackingReminderNotifications: + type: array + items: + $ref: '#/components/schemas/TrackingReminderNotification' + trackingReminders: + type: array + items: + $ref: '#/components/schemas/TrackingReminder' + userVariables: + type: array + items: + $ref: '#/components/schemas/Variable' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + PostTrackingRemindersResponse: + required: + - status + - success + type: object + properties: + data: + $ref: '#/components/schemas/PostTrackingRemindersDataResponse' + message: + type: string + description: Message + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + PostUserSettingsDataResponse: + type: object + properties: + purchaseId: + type: integer + description: 'Ex: 1' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + PostUserSettingsResponse: + required: + - status + - success + type: object + properties: + data: + $ref: '#/components/schemas/PostUserSettingsDataResponse' + message: + type: string + description: Message + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + ShareInvitationBody: + required: + - emailAddress + type: object + properties: + emailAddress: + type: string + description: 'Enter the email address of the friend, family member, or health-care provider that you would like to give access to your measurements' + name: + type: string + description: Name of the individual that the user wishes to have access to their measurements + emailSubject: + type: string + description: 'Ex: I would like to share my measurements with you!' + emailBody: + type: string + description: 'Ex: I would like to share my data with you so you can help me identify find discover hidden causes of and new treatments for my illness.' + scopes: + type: string + description: 'Space separated list of scopes to grant to the recipient (i.e. readmeasurements, writemeasurements, measurements:read' + Study: + required: + - type + type: object + properties: + type: + type: string + description: 'Ex: population, cohort, or individual' + userId: + type: integer + description: The user id of the principal investigator or subject if an individual studies + format: int32 + id: + type: string + description: ID of the cohort study which is necessary to allow participants to join + causeVariable: + $ref: '#/components/schemas/Variable' + causeVariableName: + type: string + description: 'Ex: Sleep Quality' + studyCharts: + $ref: '#/components/schemas/StudyCharts' + effectVariable: + $ref: '#/components/schemas/Variable' + effectVariableName: + type: string + description: 'Ex: Overall Mood' + participantInstructions: + $ref: '#/components/schemas/ParticipantInstruction' + statistics: + $ref: '#/components/schemas/Correlation' + studyCard: + $ref: '#/components/schemas/Card' + studyHtml: + $ref: '#/components/schemas/StudyHtml' + studyImages: + $ref: '#/components/schemas/StudyImages' + studyLinks: + $ref: '#/components/schemas/StudyLinks' + studySharing: + $ref: '#/components/schemas/StudySharing' + studyText: + $ref: '#/components/schemas/StudyText' + studyVotes: + $ref: '#/components/schemas/StudyVotes' + joined: + type: boolean + description: True if you are sharing your data with this study + description: A study analyzes the relationship between a predictor variable like gluten-intake and an outcome of interest such as overall mood. + StudyCharts: + type: object + properties: + populationTraitScatterPlot: + $ref: '#/components/schemas/Chart' + outcomeDistributionColumnChart: + $ref: '#/components/schemas/Chart' + predictorDistributionColumnChart: + $ref: '#/components/schemas/Chart' + correlationScatterPlot: + $ref: '#/components/schemas/Chart' + pairsOverTimeLineChart: + $ref: '#/components/schemas/Chart' + description: An object with various chart properties each property contain and svg and Highcharts configuration + StudyCreationBody: + required: + - causeVariableName + - effectVariableName + - type + type: object + properties: + causeVariableName: + type: string + description: Name of predictor variable + effectVariableName: + type: string + description: Name of the outcome variable + studyTitle: + type: string + description: Title of your study (optional) + type: + type: string + description: Individual studies are based on data of a single user. Group studies are based on data from a specific group of individuals who have joined. Global studies are based on aggregated and anonymously shared data from all users. + enum: + - individual + - group + - global + StudyHtml: + required: + - chartHtml + - fullStudyHtml + type: object + properties: + chartHtml: + type: string + description: Embeddable chart html + downloadButtonsHtml: + type: string + description: 'Play Store, App Store, Chrome Web Store' + fullPageWithHead: + type: string + description: 'Embeddable study including HTML head section charts. Modifiable css classes are study-title, study-section-header, study-section-body' + fullStudyHtml: + type: string + description: 'Embeddable study text html including charts. Modifiable css classes are study-title, study-section-header, study-section-body' + fullStudyHtmlWithCssStyles: + type: string + description: Embeddable study html including charts and css styling + participantInstructionsHtml: + type: string + description: Instructions for study participation + statisticsTableHtml: + type: string + description: Embeddable table with statistics + studyAbstractHtml: + type: string + description: Text summary + studyHeaderHtml: + type: string + description: 'Title, study image, abstract with CSS styling' + studyImageHtml: + type: string + description: PNG image + studyMetaHtml: + type: string + description: 'Facebook, Twitter, Google+' + studyTextHtml: + type: string + description: Formatted study text sections + socialSharingButtonHtml: + type: string + studySummaryBoxHtml: + type: string + StudyImages: + required: + - gaugeImage + - gaugeImageSquare + - imageUrl + type: object + properties: + causeVariableImageUrl: + type: string + description: 'Ex: https://static.quantimo.do/img/variable_categories/sleeping_in_bed-96.png' + causeVariableIonIcon: + type: string + description: 'Ex: ion-ios-cloudy-night-outline' + effectVariableImageUrl: + type: string + description: 'Ex: https://static.quantimo.do/img/variable_categories/theatre_mask-96.png' + effectVariableIonIcon: + type: string + description: 'Ex: ion-happy-outline' + gaugeImage: + type: string + description: 'Ex: https://s3.amazonaws.com/curedao-docs/images/gauge-moderately-positive-relationship.png' + gaugeImageSquare: + type: string + description: 'Ex: https://s3.amazonaws.com/curedao-docs/images/gauge-moderately-positive-relationship-200-200.png' + gaugeSharingImageUrl: + type: string + description: Image with gauge and category images + imageUrl: + type: string + description: 'Ex: https://s3-us-west-1.amazonaws.com/qmimages/variable_categories_gauges_logo_background/gauge-moderately-positive-relationship_sleep_emotions_logo_background.png' + robotSharingImageUrl: + type: string + description: Image with robot and category images + avatar: + type: string + description: Avatar of the principal investigator + StudyJoinResponse: + type: object + properties: + study: + $ref: '#/components/schemas/Study' + trackingReminders: + type: array + items: + $ref: '#/components/schemas/TrackingReminder' + trackingReminderNotifications: + type: array + items: + $ref: '#/components/schemas/TrackingReminderNotification' + description: + type: string + description: Can be used as body of help info popup + summary: + type: string + description: Can be used as title in help info popup + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + StudyLinks: + required: + - studyLinkDynamic + - studyLinkEmail + - studyLinkFacebook + - studyLinkGoogle + - studyLinkStatic + - studyLinkTwitter + type: object + properties: + studyJoinLink: + type: string + description: Share this link with potential study participants + studyLinkEmail: + type: string + description: 'Ex: mailto:?subject=N1%20Study%3A%20Sleep%20Quality%20Predicts%20Higher%20Overall%20Mood&body=Check%20out%20my%20study%20at%20https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fstudy%3FcauseVariableName%3DSleep%2520Quality%26effectVariableName%3DOverall%2520Mood%26userId%3D230%0A%0AHave%20a%20great%20day!' + studyLinkFacebook: + type: string + description: 'Ex: https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fstudy%3FcauseVariableName%3DSleep%2520Quality%26effectVariableName%3DOverall%2520Mood%26userId%3D230' + studyLinkGoogle: + type: string + description: 'Ex: https://plus.google.com/share?url=https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fstudy%3FcauseVariableName%3DSleep%2520Quality%26effectVariableName%3DOverall%2520Mood%26userId%3D230' + studyLinkStatic: + type: string + description: 'Ex: https://local.quantimo.do/api/v2/study?causeVariableName=Sleep%20Quality&effectVariableName=Overall%20Mood&userId=230' + studyLinkDynamic: + type: string + description: 'Ex: https://local.quantimo.do/ionic/Modo/www/index.html#/app/study?causeVariableName=Sleep%20Quality&effectVariableName=Overall%20Mood&userId=230' + studyLinkTwitter: + type: string + description: 'Ex: https://twitter.com/home?status=Sleep%20Quality%20Predicts%20Higher%20Overall%20Mood%20https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fstudy%3FcauseVariableName%3DSleep%2520Quality%26effectVariableName%3DOverall%2520Mood%26userId%3D230%20%40curedao' + StudySharing: + required: + - shareUserMeasurements + - sharingDescription + - sharingTitle + type: object + properties: + shareUserMeasurements: + type: boolean + description: Would you like to make this study publicly visible? + sharingDescription: + type: string + description: 'Ex: N1 Study: Sleep Quality Predicts Higher Overall Mood' + sharingTitle: + type: string + description: 'Ex: N1 Study: Sleep Quality Predicts Higher Overall Mood' + StudyText: + required: + - studyAbstract + - studyDesign + - studyLimitations + - studyObjective + - studyResults + - studyTitle + type: object + properties: + averageEffectFollowingHighCauseExplanation: + type: string + description: 'Ex: Overall Mood is 3.55/5 (15% higher) on average after days with around 4.19/5 Sleep Quality' + averageEffectFollowingLowCauseExplanation: + type: string + description: 'Ex: Overall Mood is 2.65/5 (14% lower) on average after days with around 1.97/5 Sleep Quality' + valuePredictingHighOutcomeExplanation: + type: string + description: 'Ex: Overall Mood, on average, 17% higher after around 4.14/5 Sleep Quality' + valuePredictingLowOutcomeExplanation: + type: string + description: 'Ex: Overall Mood, on average, 11% lower after around 3.03/5 Sleep Quality' + dataAnalysis: + type: string + description: 'Ex: It was assumed that 0 hours would pass before a change in Very Distracting Time would produce an observable change in Video Activities. It was assumed that Very Distracting Time could produce an observable change in Video Activities for as much as 7 days after the stimulus event.' + dataSources: + type: string + description: 'Ex: Very Distracting Time data was primarily collected using RescueTime. Detailed reports show which applications and websites you spent time on. Activities are automatically grouped into pre-defined categories with built-in productivity scores covering thousands of websites and applications. You can customize categories and productivity scores to meet your needs.
Video Activities data was primarily collected using RescueTime. Detailed reports show which applications and websites you spent time on. Activities are automatically grouped into pre-defined categories with built-in productivity scores covering thousands of websites and applications. You can customize categories and productivity scores to meet your needs.' + dataSourcesParagraphForCause: + type: string + description: 'Ex: Very Distracting Time data was primarily collected using RescueTime. Detailed reports show which applications and websites you spent time on. Activities are automatically grouped into pre-defined categories with built-in productivity scores covering thousands of websites and applications. You can customize categories and productivity scores to meet your needs.
Video Activities data was primarily collected using RescueTime. Detailed reports show which applications and websites you spent time on. Activities are automatically grouped into pre-defined categories with built-in productivity scores covering thousands of websites and applications. You can customize categories and productivity scores to meet your needs.' + dataSourcesParagraphForEffect: + type: string + description: 'Ex: Very Distracting Time data was primarily collected using RescueTime. Detailed reports show which applications and websites you spent time on. Activities are automatically grouped into pre-defined categories with built-in productivity scores covering thousands of websites and applications. You can customize categories and productivity scores to meet your needs.
Video Activities data was primarily collected using RescueTime. Detailed reports show which applications and websites you spent time on. Activities are automatically grouped into pre-defined categories with built-in productivity scores covering thousands of websites and applications. You can customize categories and productivity scores to meet your needs.' + lastCauseDailyValueSentenceExtended: + type: string + description: 'Ex: Sleep Quality Predicts Higher Overall Mood' + lastCauseAndOptimalValueSentence: + type: string + description: 'Ex: Sleep Quality Predicts Higher Overall Mood' + lastCauseDailyValueSentence: + type: string + description: 'Ex: Sleep Quality Predicts Higher Overall Mood' + optimalDailyValueSentence: + type: string + description: 'Ex: Sleep Quality Predicts Higher Overall Mood' + participantInstructions: + type: string + description: Instructions for study participation + predictorExplanation: + type: string + description: 'Ex: Sleep Quality Predicts Higher Overall Mood' + significanceExplanation: + type: string + description: 'Ex: Using a two-tailed t-test with alpha = 0.05, it was determined that the change in Video Activities is statistically significant at 95% confidence interval.' + studyAbstract: + type: string + description: 'Ex: Aggregated data from 21 suggests with a low degree of confidence (p=0.097) that Very Distracting Time has a moderately positive predictive relationship (R=0.354) with Video Activities (Activity). The highest quartile of Video Activities measurements were observed following an average 2.03h Very Distracting Timeper day. The lowest quartile of Video Activities measurements were observed following an average 1.04h Very Distracting Timeper day.' + studyDesign: + type: string + description: 'Ex: This study is based on data donated by 21 CureDAO users. Thus, the study design is equivalent to the aggregation of 21 separate n=1 observational natural experiments.' + studyLimitations: + type: string + description: |- + Ex: As with any human experiment, it was impossible to control for all potentially confounding variables. + Correlation does not necessarily imply correlation. We can never know for sure if one factor is definitely the cause of an outcome. + However, lack of correlation definitely implies the lack of a causal relationship. Hence, we can with great + confidence rule out non-existent relationships. For instance, if we discover no relationship between mood + and an antidepressant this information is just as or even more valuable than the discovery that there is a relationship. +
+
+ We can also take advantage of several characteristics of time series data from many subjects to infer the likelihood of a causal relationship if we do find a correlational relationship. + The criteria for causation are a group of minimal conditions necessary to provide adequate evidence of a causal relationship between an incidence and a possible consequence. + The list of the criteria is as follows: +
+ 1. Strength (effect size): A small association does not mean that there is not a causal effect, though the larger the association, the more likely that it is causal. +
+ 2. Consistency (reproducibility): Consistent findings observed by different persons in different places with different samples strengthens the likelihood of an effect. +
+ 3. Specificity: Causation is likely if a very specific population at a specific site and disease with no other likely explanation. The more specific an association between a factor and an effect is, the bigger the probability of a causal relationship. +
+ 4. Temporality: The effect has to occur after the cause (and if there is an expected delay between the cause and expected effect, then the effect must occur after that delay). +
+ 5. Biological gradient: Greater exposure should generally lead to greater incidence of the effect. However, in some cases, the mere presence of the factor can trigger the effect. In other cases, an inverse proportion is observed: greater exposure leads to lower incidence. +
+ 6. Plausibility: A plausible mechanism between cause and effect is helpful. +
+ 7. Coherence: Coherence between epidemiological and laboratory findings increases the likelihood of an effect. +
+ 8. Experiment: "Occasionally it is possible to appeal to experimental evidence". +
+ 9. Analogy: The effect of similar factors may be considered. +
+
+ The confidence in a causal relationship is bolstered by the fact that time-precedence was taken into account in all calculations. Furthermore, in accordance with the law of large numbers (LLN), the predictive power and accuracy of these results will continually grow over time. 146 paired data points were used in this analysis. Assuming that the relationship is merely coincidental, as the participant independently modifies their Very Distracting Time values, the observed strength of the relationship will decline until it is below the threshold of significance. To it another way, in the case that we do find a spurious correlation, suggesting that banana intake improves mood for instance, + one will likely increase their banana intake. Due to the fact that this correlation is spurious, it is unlikely + that you will see a continued and persistent corresponding increase in mood. So over time, the spurious correlation will + naturally dissipate.Furthermore, it will be very enlightening to aggregate this data with the data from other participants with similar genetic, diseasomic, environmentomic, and demographic profiles. + studyObjective: + type: string + description: 'Ex: The objective of this study is to determine the nature of the relationship (if any) between the Very Distracting Time and the Video Activities. Additionally, we attempt to determine the Very Distracting Time values most likely to produce optimal Video Activities values.' + studyResults: + type: string + description: 'Ex: This analysis suggests that higher Very Distracting Time generally predicts negative Video Activities (p = 0.097). Video Activities is, on average, 36% higher after around 2.03 Very Distracting Time. After an onset delay of 168 hours, Video Activities is, on average, 16% lower than its average over the 168 hours following around 1.04 Very Distracting Time. 146 data points were used in this analysis. The value for Very Distracting Time changed 2984 times, effectively running 1492 separate natural experiments. The top quartile outcome values are preceded by an average 2.03 h of Very Distracting Time. The bottom quartile outcome values are preceded by an average 1.04 h of Very Distracting Time. Forward Pearson User Variable Relationship Coefficient was 0.354 (p=0.097, 95% CI -0.437 to 1.144 onset delay = 0 hours, duration of action = 168 hours) . The Reverse Pearson User Variable Relationship Coefficient was 0.208 (P=0.097, 95% CI -0.583 to 0.998, onset delay = -0 hours, duration of action = -168 hours). When the Very Distracting Time value is closer to 2.03 h than 1.04 h, the Video Activities value which follows is, on average, 36% percent higher than its typical value. When the Very Distracting Time value is closer to 1.04 h than 2.03 h, the Video Activities value which follows is 0% lower than its typical value. Video Activities is 5 h (67% higher) on average after days with around 5 h Very Distracting Time' + studyTitle: + type: string + description: 'Ex: N1 Study: Very Distracting Time Predicts Negative Video Activities' + studyInvitation: + type: string + description: Help us determine if Remeron affects Overall Mood! + studyQuestion: + type: string + description: Does Remeron affect Overall Mood? + studyBackground: + type: string + description: In order to reduce suffering through the advancement of human knowledge... + StudyVotes: + required: + - averageVote + - userVote + type: object + properties: + averageVote: + type: number + description: 'Average of all user votes with 1 representing an up-vote and 0 representing a down-vote. Ex: 0.9855' + userVote: + type: integer + description: '1 if the current user has up-voted the study and 0 if they down-voted it. Null means no vote. Ex: 1 or 0 or null' + TrackingReminder: + required: + - reminderFrequency + - unitAbbreviatedName + - variableCategoryName + - variableName + type: object + properties: + actionArray: + type: array + items: + $ref: '#/components/schemas/TrackingReminderNotificationAction' + availableUnits: + type: array + items: + $ref: '#/components/schemas/Unit' + bestStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for user or population + bestStudyCard: + $ref: '#/components/schemas/Card' + bestUserStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for user + bestUserStudyCard: + $ref: '#/components/schemas/Card' + bestPopulationStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for population + bestPopulationStudyCard: + $ref: '#/components/schemas/Card' + optimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for user or population + commonOptimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for population + userOptimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for user + card: + $ref: '#/components/schemas/Card' + clientId: + type: string + description: 'Your client id can be obtained by creating an app at https://builder.quantimo.do' + combinationOperation: + type: string + description: The way multiple measurements are aggregated over time + enum: + - MEAN + - SUM + createdAt: + type: string + description: 'Ex: 2016-05-18 02:24:08 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + displayName: + type: string + description: 'Ex: Trader Joe''s Bedtime Tea' + unitAbbreviatedName: + type: string + description: 'Ex: /5' + unitCategoryId: + type: integer + description: 'Ex: 5' + unitCategoryName: + type: string + description: 'Ex: Rating' + unitId: + type: integer + description: 'Ex: 10' + unitName: + type: string + description: 'Ex: 1 to 5 Rating' + defaultValue: + type: number + description: 'Default value to use for the measurement when tracking. Unit: User-specified or common.' + format: float + enabled: + type: boolean + description: 'If a tracking reminder is enabled, tracking reminder notifications will be generated for this variable.' + email: + type: boolean + description: True if the reminders should be delivered via email + errorMessage: + type: string + description: 'Ex: reminderStartTimeLocal is less than $user->earliestReminderTime or greater than $user->latestReminderTime' + fillingValue: + type: integer + description: 'Ex: 0. Unit: User-specified or common.' + firstDailyReminderTime: + type: string + description: 'Ex: 02:45:20 in UTC timezone' + frequencyTextDescription: + type: string + description: 'Ex: Daily' + frequencyTextDescriptionWithTime: + type: string + description: 'Ex: Daily at 09:45 PM' + id: + type: integer + description: id + format: int32 + inputType: + type: string + description: 'Ex: saddestFaceIsFive' + instructions: + type: string + description: 'Ex: I am an instruction!' + ionIcon: + type: string + description: 'Ex: ion-sad-outline' + lastTracked: + type: string + description: 'UTC ISO 8601 YYYY-MM-DDThh:mm:ss timestamp for the last time a measurement was received for this user and variable' + lastValue: + type: number + description: 'Ex: 2' + format: double + latestTrackingReminderNotificationReminderTime: + type: string + description: 'UTC ISO 8601 YYYY-MM-DDThh:mm:ss timestamp for the reminder time of the latest tracking reminder notification that has been pre-emptively generated in the database' + localDailyReminderNotificationTimes: + type: array + items: + type: string + localDailyReminderNotificationTimesForAllReminders: + type: array + items: + type: string + manualTracking: + type: boolean + description: 'Ex: 1' + maximumAllowedValue: + type: number + description: 'Ex: 5. Unit: User-specified or common.' + format: double + minimumAllowedValue: + type: number + description: 'Ex: 1. Unit: User-specified or common.' + format: double + nextReminderTimeEpochSeconds: + type: integer + description: 'Ex: 1501555520' + notificationBar: + type: boolean + description: True if the reminders should appear in the notification bar + numberOfRawMeasurements: + type: integer + description: 'Ex: 445' + numberOfUniqueValues: + type: integer + description: 'Ex: 1' + outcome: + type: boolean + description: Indicates whether the variable is usually an outcome of interest such as a symptom or emotion + pngPath: + type: string + description: 'Ex: img/variable_categories/symptoms.png' + pngUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/symptoms.png' + productUrl: + type: string + description: Link to associated product for purchase + popUp: + type: boolean + description: True if the reminders should appear as a popup notification + question: + type: string + description: 'Ex: How is your overall mood?' + longQuestion: + type: string + description: 'Ex: How is your overall mood on a scale of 1 to 5??' + reminderEndTime: + type: string + description: 'Latest time of day at which reminders should appear in UTC HH:MM:SS format' + reminderFrequency: + type: integer + description: Number of seconds between one reminder and the next + format: int32 + reminderSound: + type: string + description: String identifier for the sound to accompany the reminder + reminderStartEpochSeconds: + type: integer + description: 'Ex: 1469760320' + reminderStartTime: + type: string + description: 'Earliest time of day at which reminders should appear in UTC HH:MM:SS format' + reminderStartTimeLocal: + type: string + description: 'Ex: 21:45:20' + format: string + reminderStartTimeLocalHumanFormatted: + type: string + description: 'Ex: 09:45 PM' + repeating: + type: boolean + description: 'Ex: true' + secondDailyReminderTime: + type: string + description: 'Ex: 01:00:00' + secondToLastValue: + type: number + description: 'Ex: 1. Unit: User-specified or common.' + format: double + sms: + type: boolean + description: True if the reminders should be delivered via SMS + startTrackingDate: + type: string + description: Earliest date on which the user should be reminded to track in YYYY-MM-DD format + format: string + stopTrackingDate: + type: string + description: Latest date on which the user should be reminded to track in YYYY-MM-DD format + format: string + svgUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/symptoms.svg' + thirdDailyReminderTime: + type: string + description: 'Ex: 20:00:00' + thirdToLastValue: + type: number + description: 'Ex: 3' + format: double + trackingReminderId: + type: integer + description: 'Ex: 11841' + trackingReminderImageUrl: + type: string + description: 'Ex: Not Found' + upc: + type: string + description: UPC or other barcode scan result + updatedAt: + type: string + description: 'When the record in the database was last updated. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format. Time zone should be UTC and not local.' + userId: + type: integer + description: ID of User + format: int32 + userVariableUnitAbbreviatedName: + type: string + description: 'Ex: /5' + userVariableUnitCategoryId: + type: integer + description: 'Ex: 5' + userVariableUnitCategoryName: + type: string + description: 'Ex: Rating' + userVariableUnitId: + type: integer + description: 'Ex: 10' + userVariableUnitName: + type: string + description: 'Ex: 1 to 5 Rating' + userVariableVariableCategoryId: + type: integer + description: 'Ex: 10' + userVariableVariableCategoryName: + type: string + description: 'Ex: Symptoms' + valence: + type: string + description: 'Valence indicates what type of buttons should be used when recording measurements for this variable. positive - Face buttons with the happiest face equating to a 5/5 rating where higher is better like Overall Mood. negative - Face buttons with the happiest face equating to a 1/5 rating where lower is better like Headache Severity. numeric - Just 1 to 5 numeric buttons for neutral variables. ' + valueAndFrequencyTextDescription: + type: string + description: 'Ex: Rate daily' + valueAndFrequencyTextDescriptionWithTime: + type: string + description: 'Ex: Rate daily at 09:45 PM' + variableCategoryId: + type: integer + description: 'Ex: 10' + variableCategoryImageUrl: + type: string + description: 'Ex: https://static.quantimo.do/img/variable_categories/sad-96.png' + variableCategoryName: + type: string + description: 'Ex: Emotions, Treatments, Symptoms...' + enum: + - Activity + - Books + - Causes of Illness + - Cognitive Performance + - Conditions + - Emotions + - Environment + - Foods + - Goals + - Locations + - Miscellaneous + - Movies and TV + - Music + - Nutrients + - Payments + - Physical Activities + - Physique + - Sleep + - Social Interactions + - Software + - Symptoms + - Treatments + - Vital Signs + variableDescription: + type: string + description: 'Valence indicates what type of buttons should be used when recording measurements for this variable. positive - Face buttons with the happiest face equating to a 5/5 rating where higher is better like Overall Mood. negative - Face buttons with the happiest face equating to a 1/5 rating where lower is better like Headache Severity. numeric - Just 1 to 5 numeric buttons for neutral variables. ' + variableId: + type: integer + description: Id for the variable to be tracked + format: int32 + variableName: + type: string + description: Name of the variable to be used when sending measurements + TrackingReminderNotification: + required: + - actionArray + - availableUnits + - fillingValue + - id + - trackAllActions + type: object + properties: + actionArray: + type: array + items: + $ref: '#/components/schemas/TrackingReminderNotificationAction' + availableUnits: + type: array + items: + $ref: '#/components/schemas/Unit' + bestStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for user or population + bestStudyCard: + $ref: '#/components/schemas/Card' + bestUserStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for user + bestUserStudyCard: + $ref: '#/components/schemas/Card' + bestPopulationStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for population + bestPopulationStudyCard: + $ref: '#/components/schemas/Card' + optimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for user or population + commonOptimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for population + userOptimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for user + card: + $ref: '#/components/schemas/Card' + clientId: + type: string + description: 'Your client id can be obtained by creating an app at https://builder.quantimo.do' + combinationOperation: + type: string + description: The way multiple measurements are aggregated over time + enum: + - MEAN + - SUM + createdAt: + type: string + description: 'Ex: 2017-07-29 20:49:54 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + displayName: + type: string + description: 'Ex: Trader Joe''s Bedtime Tea' + modifiedValue: + type: number + description: 'Is the user specified default value or falls back to the last value in user unit. Good for initializing input fields. Unit: User-specified or common.' + format: double + unitAbbreviatedName: + type: string + description: 'Ex: /5' + unitCategoryId: + type: integer + description: 'Ex: 5' + unitCategoryName: + type: string + description: 'Ex: Rating' + unitId: + type: integer + description: 'Ex: 10' + unitName: + type: string + description: 'Ex: 1 to 5 Rating' + defaultValue: + type: number + description: Default value to use for the measurement when tracking + format: float + description: + type: string + description: 'Valence indicates what type of buttons should be used when recording measurements for this variable. positive - Face buttons with the happiest face equating to a 5/5 rating where higher is better like Overall Mood. negative - Face buttons with the happiest face equating to a 1/5 rating where lower is better like Headache Severity. numeric - Just 1 to 5 numeric buttons for neutral variables. ' + email: + type: boolean + description: True if the reminders should be delivered via email + fillingValue: + type: integer + description: 'Ex: 0' + iconIcon: + type: string + description: 'Ex: ion-sad-outline' + id: + type: integer + description: id for the specific PENDING tracking remidner + format: int32 + imageUrl: + type: string + description: 'Ex: https://rximage.nlm.nih.gov/image/images/gallery/original/55111-0129-60_RXNAVIMAGE10_B051D81E.jpg' + inputType: + type: string + description: 'Ex: happiestFaceIsFive' + ionIcon: + type: string + description: 'Ex: ion-happy-outline' + lastValue: + type: number + description: 'Ex: 3' + format: double + manualTracking: + type: boolean + description: True if this variable is normally tracked via manual user input rather than automatic imports + maximumAllowedValue: + type: integer + description: 'Ex: 5' + minimumAllowedValue: + type: integer + description: 'Ex: 1' + mostCommonValue: + type: number + description: 'Ex: 3' + format: double + notificationBar: + type: boolean + description: True if the reminders should appear in the notification bar + notifiedAt: + type: string + description: 'Ex: UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + numberOfUniqueValues: + type: integer + description: 'Ex: 5' + outcome: + type: boolean + description: Indicates whether the variable is usually an outcome of interest such as a symptom or emotion + pngPath: + type: string + description: 'Ex: img/variable_categories/emotions.png' + pngUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/emotions.png' + popUp: + type: boolean + description: True if the reminders should appear as a popup notification + productUrl: + type: string + description: Link to associated product for purchase + question: + type: string + description: 'Ex: How is your overall mood?' + longQuestion: + type: string + description: 'Ex: How is your overall mood on a scale of 1 to 5??' + reminderEndTime: + type: string + description: 'Ex: 01-01-2018' + reminderFrequency: + type: integer + description: 'How often user should be reminded in seconds. Ex: 86400' + reminderSound: + type: string + description: String identifier for the sound to accompany the reminder + reminderStartTime: + type: string + description: 'Earliest time of day at which reminders should appear in UTC HH:MM:SS format' + reminderTime: + type: string + description: 'UTC ISO 8601 YYYY-MM-DDThh:mm:ss timestamp for the specific time the variable should be tracked in UTC. This will be used for the measurement startAt if the track endpoint is used.' + secondMostCommonValue: + type: number + description: 'Ex: 4' + format: double + secondToLastValue: + type: number + description: 'Ex: 1' + format: double + sms: + type: boolean + description: True if the reminders should be delivered via SMS + svgUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/emotions.svg' + thirdMostCommonValue: + type: number + description: 'Ex: 2' + format: double + thirdToLastValue: + type: number + description: 'Ex: 2' + format: double + title: + type: string + description: 'Ex: Rate Overall Mood' + total: + type: number + description: 'Ex: 3' + format: double + trackAllActions: + type: array + items: + $ref: '#/components/schemas/TrackingReminderNotificationTrackAllAction' + trackingReminderId: + type: integer + description: id for the repeating tracking remidner + format: int32 + trackingReminderImageUrl: + type: string + description: 'Ex: https://rximage.nlm.nih.gov/image/images/gallery/original/55111-0129-60_RXNAVIMAGE10_B051D81E.jpg' + trackingReminderNotificationId: + type: integer + description: 'Ex: 5072482' + trackingReminderNotificationTime: + type: string + description: 'UTC ISO 8601 YYYY-MM-DDThh:mm:ss timestamp for the specific time the variable should be tracked in UTC. This will be used for the measurement startAt if the track endpoint is used.' + trackingReminderNotificationTimeEpoch: + type: integer + description: 'Ex: 1501534124' + trackingReminderNotificationTimeLocal: + type: string + description: 'Ex: 15:48:44' + trackingReminderNotificationTimeLocalHumanString: + type: string + description: 'Ex: 8PM Sun, May 1' + updatedAt: + type: string + description: 'When the record in the database was last updated. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format. Time zone should be UTC and not local.' + userId: + type: integer + description: ID of User + format: int32 + userVariableUnitAbbreviatedName: + type: string + description: 'Ex: /5' + userVariableUnitCategoryId: + type: integer + description: 'Ex: 5' + userVariableUnitCategoryName: + type: string + description: 'Ex: Rating' + userVariableUnitId: + type: integer + description: 'Ex: 10' + userVariableUnitName: + type: string + description: 'Ex: 1 to 5 Rating' + userVariableVariableCategoryId: + type: integer + description: 'Ex: 1' + userVariableVariableCategoryName: + type: string + description: 'Ex: Emotions' + valence: + type: string + description: 'Valence indicates what type of buttons should be used when recording measurements for this variable. positive - Face buttons with the happiest face equating to a 5/5 rating where higher is better like Overall Mood. negative - Face buttons with the happiest face equating to a 1/5 rating where lower is better like Headache Severity. numeric - Just 1 to 5 numeric buttons for neutral variables. ' + variableCategoryId: + type: integer + description: 'Ex: 1' + variableCategoryImageUrl: + type: string + description: 'Ex: https://static.quantimo.do/img/variable_categories/theatre_mask-96.png' + variableCategoryName: + type: string + description: 'Ex: Emotions, Treatments, Symptoms...' + enum: + - Activity + - Books + - Causes of Illness + - Cognitive Performance + - Conditions + - Emotions + - Environment + - Foods + - Goals + - Locations + - Miscellaneous + - Movies and TV + - Music + - Nutrients + - Payments + - Physical Activities + - Physique + - Sleep + - Social Interactions + - Software + - Symptoms + - Treatments + - Vital Signs + variableId: + type: integer + description: Id for the variable to be tracked + format: int32 + variableImageUrl: + type: string + description: 'Ex: https://image.png' + variableName: + type: string + description: Name of the variable to be used when sending measurements + TrackingReminderNotificationAction: + required: + - action + - callback + - modifiedValue + - title + type: object + properties: + action: + type: string + description: 'Ex: track' + callback: + type: string + description: 'Ex: trackThreeRatingAction' + modifiedValue: + type: integer + description: 'Ex: 3' + title: + type: string + description: 'Ex: 3/5' + longTitle: + type: string + description: 'Ex: Rate 3/5' + shortTitle: + type: string + description: 'Ex: 3' + TrackingReminderNotificationPost: + required: + - action + - id + type: object + properties: + action: + type: string + description: track records a measurement for the notification. snooze changes the notification to 1 hour from now. skip deletes the notification. + enum: + - skip + - snooze + - track + id: + type: number + description: Id of the TrackingReminderNotification + modifiedValue: + type: number + description: Optional value to be recorded instead of the tracking reminder default value + TrackingReminderNotificationTrackAllAction: + required: + - action + - callback + - modifiedValue + - title + type: object + properties: + action: + type: string + description: 'Ex: trackAll' + callback: + type: string + description: 'Ex: trackThreeRatingAction' + modifiedValue: + type: integer + description: 'Ex: 3' + title: + type: string + description: 'Ex: Rate 3/5 for all' + Unit: + required: + - abbreviatedName + - category + - conversionSteps + - maximumValue + - name + - unitCategory + type: object + properties: + abbreviatedName: + type: string + description: Unit abbreviation + advanced: + type: integer + description: 'Ex: 1' + category: + type: string + description: Unit category + enum: + - Distance + - Duration + - Energy + - Frequency + - Miscellany + - Pressure + - Proportion + - Rating + - Temperature + - Volume + - Weight + - Count + categoryId: + type: integer + description: 'Ex: 6' + categoryName: + type: string + description: 'Ex: Miscellany' + conversionSteps: + type: array + description: Conversion steps list + items: + $ref: '#/components/schemas/ConversionStep' + id: + type: integer + description: 'Ex: 29' + image: + type: string + description: 'Ex: https://static.quantimo.do/img/medical/png/pill.png' + manualTracking: + type: integer + description: 'Ex: 0' + maximumAllowedValue: + type: number + description: 'The maximum allowed value for measurements. While you can record a value above this maximum, it will be excluded from the correlation analysis.' + format: double + maximumValue: + type: integer + description: 'Ex: 4' + minimumAllowedValue: + type: number + description: 'The minimum allowed value for measurements. While you can record a value below this minimum, it will be excluded from the correlation analysis.' + format: double + minimumValue: + type: integer + description: 'Ex: 0' + name: + type: string + description: Unit name + unitCategory: + $ref: '#/components/schemas/UnitCategory' + UnitCategory: + required: + - name + type: object + properties: + id: + type: integer + description: id + name: + type: string + description: Category name + standardUnitAbbreviatedName: + type: string + description: Base unit for in which measurements are to be converted to and stored + User: + required: + - accessToken + - administrator + - displayName + - email + - id + - loginName + type: object + properties: + accessToken: + type: string + description: User access token + accessTokenExpires: + type: string + description: 'Ex: 2018-08-08 02:41:19' + accessTokenExpiresAtMilliseconds: + type: integer + description: 'Ex: 1533696079000' + administrator: + type: boolean + description: Is user administrator + avatar: + type: string + description: 'Ex: https://lh6.googleusercontent.com/-BHr4hyUWqZU/AAAAAAAAAAI/AAAAAAAIG28/2Lv0en738II/photo.jpg?sz=50' + avatarImage: + type: string + description: 'Ex: https://lh6.googleusercontent.com/-BHr4hyUWqZU/AAAAAAAAAAI/AAAAAAAIG28/2Lv0en738II/photo.jpg?sz=50' + capabilities: + type: string + description: 'Ex: a:1:{s:13:"administrator";b:1;}' + card: + $ref: '#/components/schemas/Card' + clientId: + type: string + description: 'Ex: curedao' + clientUserId: + type: string + description: 'Ex: 118444693184829555362' + combineNotifications: + type: boolean + description: 'Ex: 1' + createdAt: + type: string + description: 'When the record was first created. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format' + description: + type: string + description: Your bio will be displayed on your published studies + displayName: + type: string + description: User display name + earliestReminderTime: + type: string + description: 'Earliest time user should get notifications. Ex: 05:00:00' + email: + type: string + description: User email + firstName: + type: string + description: 'Ex: Mike' + getPreviewBuilds: + type: boolean + description: 'Ex: false' + hasAndroidApp: + type: boolean + description: 'Ex: false' + hasChromeExtension: + type: boolean + description: 'Ex: false' + hasIosApp: + type: boolean + description: 'Ex: false' + id: + type: integer + description: User id + lastActive: + type: string + description: 'Ex: Date the user last logged in' + lastFour: + type: string + description: 'Ex: 2009' + lastName: + type: string + description: 'Ex: Sinn' + lastSmsTrackingReminderNotificationId: + type: string + description: 'Ex: 1' + latestReminderTime: + type: string + description: 'Latest time user should get notifications. Ex: 23:00:00' + loginName: + type: string + description: User login name + password: + type: string + description: 'Ex: PASSWORD' + phoneNumber: + type: string + description: 'Ex: 618-391-0002' + phoneVerificationCode: + type: string + description: 'Ex: 1234' + primaryOutcomeVariableId: + type: integer + description: 'A good primary outcome variable is something that you want to improve and that changes inexplicably. For instance, if you have anxiety, back pain or arthritis which is worse on some days than others, these would be good candidates for primary outcome variables. Recording their severity and potential factors will help you identify hidden factors exacerbating or improving them. ' + primaryOutcomeVariableName: + type: string + description: 'A good primary outcome variable is something that you want to improve and that changes inexplicably. For instance, if you have anxiety, back pain or arthritis which is worse on some days than others, these would be good candidates for primary outcome variables. Recording their severity and potential factors will help you identify hidden factors exacerbating or improving them. ' + pushNotificationsEnabled: + type: boolean + description: 'Ex: 1' + refreshToken: + type: string + description: 'See https://oauth.net/2/grant-types/refresh-token/' + roles: + type: string + description: 'Ex: ["admin"]' + sendPredictorEmails: + type: boolean + description: 'Ex: 1' + sendReminderNotificationEmails: + type: boolean + description: 'Ex: 1' + shareAllData: + type: boolean + description: 'Share all studies, charts, and measurement data with all other users' + smsNotificationsEnabled: + type: boolean + description: 'Ex: false' + stripeActive: + type: boolean + description: 'Ex: 1' + stripeId: + type: string + description: 'Ex: cus_A8CEmcvl8jwLhV' + stripePlan: + type: string + description: 'Ex: monthly7' + stripeSubscription: + type: string + description: 'Ex: sub_ANTx3nOE7nzjQf' + subscriptionEndsAt: + type: string + description: 'UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + subscriptionProvider: + type: string + description: 'Ex: google' + timeZoneOffset: + type: integer + description: 'Ex: 300' + trackLocation: + type: boolean + description: 'Ex: 1' + updatedAt: + type: string + description: 'When the record in the database was last updated. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format' + userRegistered: + type: string + description: 'Ex: 2013-12-03 15:25:13 UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + userUrl: + type: string + description: 'Ex: https://plus.google.com/+MikeSinn' + UserPostBody: + type: object + description: The main thing you need here is the clientUserId that will be needed to fetch the user later. + properties: + clientUserId: + type: string + description: 'The user id from your system so you can match the user in our system to the user in your system.' + combineNotifications: + type: boolean + description: 'Whether to combine notifications for multiple variables into a single notification' + description: + type: string + description: Your bio will be displayed on your published studies + displayName: + type: string + description: User display name + earliestReminderTime: + type: string + description: 'Earliest time user should get notifications. Ex: 05:00:00' + email: + type: string + description: User email + firstName: + type: string + description: 'Ex: Mike' + getPreviewBuilds: + type: boolean + description: 'Whether the user should get preview builds of their custom app' + hasAndroidApp: + type: boolean + description: 'Whether the user has the Android app installed' + hasChromeExtension: + type: boolean + description: 'Whether the user has the Chrome extension installed' + hasIosApp: + type: boolean + description: 'Whether the user has the iOS app installed' + lastActive: + type: string + description: 'Ex: Date the user last logged in' + lastName: + type: string + description: 'Ex: Sinn' + latestReminderTime: + type: string + description: 'Latest time user should get notifications. Ex: 23:00:00' + loginName: + type: string + description: User login name + password: + type: string + description: 'Ex: PASSWORD' + phoneNumber: + type: string + description: 'Ex: +1-618-555-0002' + phoneVerificationCode: + type: string + description: 'Ex: 1234' + primaryOutcomeVariableId: + type: integer + description: 'A good primary outcome variable is something that you want to improve and that changes inexplicably. For instance, if you have anxiety, back pain or arthritis which is worse on some days than others, these would be good candidates for primary outcome variables. Recording their severity and potential factors will help you identify hidden factors exacerbating or improving them. ' + primaryOutcomeVariableName: + type: string + description: 'A good primary outcome variable is something that you want to improve and that changes inexplicably. For instance, if you have anxiety, back pain or arthritis which is worse on some days than others, these would be good candidates for primary outcome variables. Recording their severity and potential factors will help you identify hidden factors exacerbating or improving them. ' + pushNotificationsEnabled: + type: boolean + description: 'Whether the user should get push notifications' + sendPredictorEmails: + type: boolean + description: 'Whether the user should get weekly emails on the factors most predictive of their primary outcome to improve' + sendReminderNotificationEmails: + type: boolean + description: 'Whether the user should get emails when they have tracking reminders' + shareAllData: + type: boolean + description: 'Share all studies, charts, and measurement data with all other users' + smsNotificationsEnabled: + type: boolean + description: 'Whether the user should get SMS notifications' + timeZoneOffset: + type: integer + description: 'Minutes offset from UTC time' + trackLocation: + type: boolean + description: 'Whether the user wants to automatically track their location with measurements' + userUrl: + type: string + description: 'The URL the user wants to associate with their account' + UsersResponse: + required: + - users + type: object + properties: + users: + type: array + items: + $ref: '#/components/schemas/User' + description: + type: string + description: Users who granted access to their data + summary: + type: string + description: Users who granted access to their data + errors: + type: array + description: Array of error objects with message property + items: + $ref: '#/components/schemas/ErrorResponse' + status: + type: string + description: ex. OK or ERROR + success: + type: boolean + description: true or false + code: + type: number + description: Response code such as 200 + image: + $ref: '#/components/schemas/Image' + avatar: + type: string + description: Square icon png url + ionIcon: + type: string + description: 'Ex: ion-ios-person' + html: + type: string + description: Users who granted access to their data + link: + type: string + description: A super neat url you might want to share with your users! + card: + $ref: '#/components/schemas/Card' + UserTag: + required: + - conversionFactor + - tagVariableId + - taggedVariableId + type: object + properties: + conversionFactor: + type: number + description: Number by which we multiply the tagged variable value to obtain the tag variable (ingredient) value + taggedVariableId: + type: integer + description: This is the id of the variable being tagged with an ingredient or something. + tagVariableId: + type: integer + description: This is the id of the ingredient variable whose value is determined based on the value of the tagged variable. + TagVariable: + required: + - id + - name + - userId + - variableId + type: object + properties: + actionArray: + type: array + items: + $ref: '#/components/schemas/TrackingReminderNotificationAction' + alias: + type: string + description: 'User-Defined Variable Setting: Alternative display name' + availableUnits: + type: array + items: + $ref: '#/components/schemas/Unit' + bestStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for user or population + bestStudyCard: + $ref: '#/components/schemas/Card' + bestUserStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for user + bestUserStudyCard: + $ref: '#/components/schemas/Card' + bestPopulationStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for population + bestPopulationStudyCard: + $ref: '#/components/schemas/Card' + optimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for user or population + commonOptimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for population + userOptimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for user + card: + $ref: '#/components/schemas/Card' + causeOnly: + type: boolean + description: 'User-Defined Variable Setting: True indicates that this variable is generally a cause in a causal relationship. An example of a causeOnly variable would be a variable such as Cloud Cover which would generally not be influenced by the behaviour of the user' + charts: + $ref: '#/components/schemas/VariableCharts' + chartsLinkDynamic: + type: string + description: 'Ex: https://local.quantimo.do/ionic/Modo/www/#/app/charts/Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29?variableName=Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29&userId=230&pngUrl=https%3A%2F%2Fapi.quantimo.do%2Fionic%2FModo%2Fwww%2Fimg%2Fvariable_categories%2Ftreatments.png' + chartsLinkEmail: + type: string + description: 'Ex: mailto:?subject=Check%20out%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20data%21&body=See%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20history%20at%20https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png%0A%0AHave%20a%20great%20day!' + chartsLinkFacebook: + type: string + description: 'Ex: https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png' + chartsLinkGoogle: + type: string + description: 'Ex: https://plus.google.com/share?url=https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png' + chartsLinkStatic: + type: string + description: 'Ex: https://local.quantimo.do/api/v2/charts?variableName=Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29&userId=230&pngUrl=https%3A%2F%2Fapi.quantimo.do%2Fionic%2FModo%2Fwww%2Fimg%2Fvariable_categories%2Ftreatments.png' + chartsLinkTwitter: + type: string + description: 'Ex: https://twitter.com/home?status=Check%20out%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20data%21%20https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png%20%40curedao' + clientId: + type: string + description: 'Your client id can be obtained by creating an app at https://builder.quantimo.do' + combinationOperation: + type: string + description: 'User-Defined Variable Setting: How to aggregate measurements over time. SUM should be used for things like minutes of exercise. If you use MEAN for exercise, then a person might exercise more minutes in one day but add separate measurements that were smaller. So when we are doing correlational analysis, we would think that the person exercised less that day even though they exercised more. Conversely, we must use MEAN for things such as ratings which cannot be SUMMED.' + enum: + - MEAN + - SUM + commonAlias: + type: string + description: 'Ex: Anxiety / Nervousness' + createdAt: + type: string + description: 'When the record was first created. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format' + dataSourceNames: + type: string + description: Comma-separated list of source names to limit variables to those sources + dataSources: + type: array + description: These are sources of measurements for this variable + items: + $ref: '#/components/schemas/DataSource' + description: + type: string + description: 'User-Defined Variable Setting: Ex: Summary to be used in studies.' + displayName: + type: string + description: 'Ex: Trader Joe''s Bedtime Tea' + durationOfAction: + type: integer + description: 'The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Seconds' + format: int32 + durationOfActionInHours: + type: number + description: 'User-Defined Variable Setting: The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Hours' + format: float + earliestFillingTime: + type: integer + description: Earliest filling time + format: int32 + earliestMeasurementTime: + type: integer + description: Earliest measurement time + format: int32 + earliestSourceTime: + type: integer + description: Earliest source time + format: int32 + errorMessage: + type: string + description: Error message from last analysis + experimentEndTime: + type: string + description: 'User-Defined Variable Setting: Latest measurement time to be used in analysis. Format: UTC ISO 8601 YYYY-MM-DDThh:mm:ss.' + experimentStartTime: + type: string + description: 'User-Defined Variable Setting: Earliest measurement time to be used in analysis. Format: UTC ISO 8601 YYYY-MM-DDThh:mm:ss.' + fillingType: + type: string + description: 'User-Defined Variable Setting: When it comes to analysis to determine the effects of this variable, knowing when it did not occur is as important as knowing when it did occur. For example, if you are tracking a medication, it is important to know when you did not take it, but you do not have to log zero values for all the days when you haven''t taken it. Hence, you can specify a filling value (typically 0) to insert whenever data is missing.' + enum: + - none + - zero-filling + - value-filling + fillingValue: + type: number + description: 'User-Defined Variable Setting: When it comes to analysis to determine the effects of this variable, knowing when it did not occur is as important as knowing when it did occur. For example, if you are tracking a medication, it is important to know when you did not take it, but you do not have to log zero values for all the days when you haven''t taken it. Hence, you can specify a filling value (typically 0) to insert whenever data is missing. Unit: User-specified or common.' + format: float + iconIcon: + type: string + description: 'Ex: ion-sad-outline' + id: + type: integer + description: 'Ex: 95614' + imageUrl: + type: string + informationalUrl: + type: string + description: 'Ex: https://google.com' + inputType: + type: string + description: Type of input field to show for recording measurements + ionIcon: + type: string + joinWith: + type: integer + description: Duplicate variables. If the variable is joined with some other variable then it is not shown to user in the list of variables + format: int32 + kurtosis: + type: number + description: Kurtosis + format: float + lastProcessedDailyValue: + type: number + description: 'Calculated Statistic: Ex: 500. Unit: User-specified or common.' + format: double + lastSuccessfulUpdateTime: + type: string + description: 'When this variable or its settings were last updated UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + lastValue: + type: number + description: 'Calculated Statistic: Last measurement value in the common unit or user unit if different. Unit: User-specified or common.' + format: float + latestFillingTime: + type: integer + description: Latest filling time + format: int32 + latestMeasurementTime: + type: integer + description: 'Latest measurement time. Format: Unix-time epoch seconds.' + format: int32 + latestSourceTime: + type: integer + description: 'Latest source time. Format: Unix-time epoch seconds.' + format: int32 + latestUserMeasurementTime: + type: integer + description: 'Ex: 1501383600. Format: Unix-time epoch seconds.' + latitude: + type: number + description: 'Latitude. Unit: User-specified or common.' + format: float + location: + type: string + description: Location + longitude: + type: number + description: Longitude + format: float + manualTracking: + type: boolean + description: True if the variable is an emotion or symptom rating that is not typically automatically collected by a device or app. + maximumAllowedDailyValue: + type: number + description: 'User-Defined Variable Setting: The maximum allowed value a daily aggregated measurement. Unit: User-specified or common.' + format: float + maximumAllowedValue: + type: number + description: 'User-Defined Variable Setting: The maximum allowed value a single measurement. While you can record a value above this maximum, it will be excluded from the correlation analysis. Unit: User-specified or common.' + format: float + maximumRecordedDailyValue: + type: number + description: 'Calculated Statistic: Maximum recorded daily value of this variable. Unit: User-specified or common.' + format: float + maximumRecordedValue: + type: number + description: 'Calculated Statistic: Ex: 1. Unit: User-specified or common.' + format: double + mean: + type: number + description: 'Mean. Unit: User-specified or common.' + format: float + measurementsAtLastAnalysis: + type: integer + description: Number of measurements at last analysis + format: int32 + median: + type: number + description: Median + format: float + minimumAllowedValue: + type: number + description: 'User-Defined Variable Setting: The minimum allowed value a single measurement. While you can record a value below this minimum, it will be excluded from the correlation analysis. Unit: User-specified or common' + format: float + minimumAllowedDailyValue: + type: number + description: 'User-Defined Variable Setting: The minimum allowed value a daily aggregated measurement. For instance, you might set to 100 for steps to keep erroneous 0 daily steps out of the analysis. Unit: User-specified or common.' + format: float + minimumNonZeroValue: + type: number + description: 'User-Defined Variable Setting: The minimum allowed non-zero value a single measurement. For instance, you might set to 100 mL for steps to keep erroneous 0 daily steps out of the analysis. Unit: User-specified or common.' + format: float + minimumRecordedValue: + type: number + description: 'Minimum recorded value of this variable. Unit: User-specified or common.' + format: float + mostCommonConnectorId: + type: integer + description: 'Ex: 51' + mostCommonOriginalUnitId: + type: integer + description: 'Ex: 23' + mostCommonUnitId: + type: integer + description: Most common Unit ID + format: int32 + mostCommonValue: + type: number + description: 'Calculated Statistic: Most common value. Unit: User-specified or common.' + format: float + name: + type: string + description: 'Ex: Trader Joes Bedtime Tea / Sleepytime Tea (any Brand)' + numberOfGlobalVariableRelationshipsAsCause: + type: integer + description: 'Ex: 1' + numberOfGlobalVariableRelationshipsAsEffect: + type: integer + description: 'Ex: 310' + numberOfChanges: + type: integer + description: Number of changes + format: int32 + numberOfCorrelations: + type: integer + description: Number of user_variable_relationships for this variable + format: int32 + numberOfCorrelationsAsCause: + type: integer + description: numberOfGlobalVariableRelationshipsAsCause plus numberOfUserVariableRelationshipsAsCause + numberOfCorrelationsAsEffect: + type: integer + description: numberOfGlobalVariableRelationshipsAsEffect plus numberOfUserVariableRelationshipsAsEffect + numberOfProcessedDailyMeasurements: + type: integer + description: Number of processed measurements + format: int32 + numberOfRawMeasurements: + type: integer + description: 'Ex: 295' + numberOfTrackingReminders: + type: integer + description: 'Ex: 1' + numberOfUniqueDailyValues: + type: number + description: Number of unique daily values + format: float + numberOfUniqueValues: + type: integer + description: 'Ex: 2' + numberOfUserVariableRelationshipsAsCause: + type: integer + description: 'Ex: 115' + numberOfUserVariableRelationshipsAsEffect: + type: integer + description: 'Ex: 29014' + numberOfUserVariables: + type: integer + description: 'Ex: 2' + onsetDelay: + type: integer + description: 'The amount of time in seconds that elapses after the predictor/stimulus event before the outcome as perceived by a self-tracker is known as the onset delay. For example, the onset delay between the time a person takes an aspirin (predictor/stimulus event) and the time a person perceives a change in their headache severity (outcome) is approximately 30 minutes.' + format: int32 + onsetDelayInHours: + type: number + description: 'User-Defined Variable Setting: The amount of time in seconds that elapses after the predictor/stimulus event before the outcome as perceived by a self-tracker is known as the onset delay. For example, the onset delay between the time a person takes an aspirin (predictor/stimulus event) and the time a person perceives a change in their headache severity (outcome) is approximately 30 minutes.' + format: double + outcome: + type: boolean + description: 'User-Defined Variable Setting: True for variables for which a human would generally want to identify the influencing factors. These include symptoms of illness, physique, mood, cognitive performance, etc. Generally correlation calculations are only performed on outcome variables' + outcomeOfInterest: + type: boolean + description: Do you want to receive updates on newly discovered factors influencing this variable? + pngPath: + type: string + description: 'Ex: img/variable_categories/treatments.png' + pngUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/treatments.png' + predictorOfInterest: + type: integer + description: 'Ex: 0' + price: + type: number + description: 'Ex: 95.4' + format: double + productUrl: + type: string + description: Link to associated product for purchase + public: + type: boolean + description: Should this variable show up in automcomplete searches for users who do not already have measurements for it? + question: + type: string + description: 'Ex: How is your overall mood?' + longQuestion: + type: string + description: 'Ex: How is your overall mood on a scale of 1 to 5??' + rawMeasurementsAtLastAnalysis: + type: integer + description: 'Ex: 131' + secondMostCommonValue: + type: number + description: 'Calculated Statistic: Ex: 1. Unit: User-specified or common.' + format: double + secondToLastValue: + type: number + description: 'Calculated Statistic: Ex: 250. Unit: User-specified or common.' + format: double + shareUserMeasurements: + type: boolean + description: Would you like to make your measurements publicly visible? + skewness: + type: number + description: Skewness + format: float + standardDeviation: + type: number + description: 'Standard deviation Ex: 0.46483219855434' + format: double + status: + type: string + description: status + subtitle: + type: string + description: Based on sort filter and can be shown beneath variable name on search list + svgUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/treatments.svg' + thirdMostCommonValue: + type: number + description: 'Calculated Statistic: Ex: 6. Unit: User-specified or common.' + format: double + thirdToLastValue: + type: number + description: 'Calculated Statistic: Ex: 250. Unit: User-specified or common.' + format: double + trackingInstructions: + type: string + description: HTML instructions for tracking + trackingInstructionsCard: + $ref: '#/components/schemas/Card' + unit: + $ref: '#/components/schemas/Unit' + unitAbbreviatedName: + type: string + description: 'Ex: count' + unitCategoryId: + type: integer + description: 'Ex: 6' + unitCategoryName: + type: string + description: 'Ex: Miscellany' + unitId: + type: integer + description: ID of unit to use for this variable + format: int32 + unitName: + type: string + description: 'User-Defined Variable Setting: Count' + upc: + type: string + description: Universal product code or similar + updated: + type: integer + description: updated + format: int32 + updatedAt: + type: string + description: 'When the record in the database was last updated. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format' + updatedTime: + type: string + description: 'Ex: 2017-07-30 14:58:26' + userId: + type: integer + description: User ID + format: int32 + userVariableUnitAbbreviatedName: + type: string + description: 'Ex: count' + userVariableUnitCategoryId: + type: integer + description: 'Ex: 6' + userVariableUnitCategoryName: + type: string + description: 'Ex: Miscellany' + userVariableUnitId: + type: integer + description: 'Ex: 23' + userVariableUnitName: + type: string + description: 'Ex: Count' + valence: + type: string + description: 'Valence indicates what type of buttons should be used when recording measurements for this variable. positive - Face buttons with the happiest face equating to a 5/5 rating where higher is better like Overall Mood. negative - Face buttons with the happiest face equating to a 1/5 rating where lower is better like Headache Severity. numeric - Just 1 to 5 numeric buttons for neutral variables. ' + variableCategoryId: + type: integer + description: 'Ex: 6' + variableCategoryName: + type: string + description: 'User-Defined Variable Setting: Variable category like Emotions, Sleep, Physical Activities, Treatments, Symptoms, etc.' + enum: + - Activity + - Books + - Causes of Illness + - Cognitive Performance + - Conditions + - Emotions + - Environment + - Foods + - Goals + - Locations + - Miscellaneous + - Movies and TV + - Music + - Nutrients + - Payments + - Physical Activities + - Physique + - Sleep + - Social Interactions + - Software + - Symptoms + - Treatments + - Vital Signs + variableId: + type: integer + description: 'Ex: 96380' + variableName: + type: string + description: 'Ex: Sleep Duration' + variance: + type: number + description: 'Statistic: Ex: 115947037.40816' + format: double + wikipediaTitle: + type: string + description: 'User-Defined Variable Setting: You can help to improve the studies by pasting the title of the most appropriate Wikipedia article for this variable' + Variable: + required: + - id + - name + - userId + - variableId + type: object + properties: + actionArray: + type: array + items: + $ref: '#/components/schemas/TrackingReminderNotificationAction' + alias: + type: string + description: 'User-Defined Variable Setting: Alternative display name' + availableUnits: + type: array + items: + $ref: '#/components/schemas/Unit' + bestStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for user or population + bestStudyCard: + $ref: '#/components/schemas/Card' + bestUserStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for user + bestUserStudyCard: + $ref: '#/components/schemas/Card' + bestPopulationStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for population + bestPopulationStudyCard: + $ref: '#/components/schemas/Card' + optimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for user or population + commonOptimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for population + userOptimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for user + card: + $ref: '#/components/schemas/Card' + causeOnly: + type: boolean + description: 'User-Defined Variable Setting: True indicates that this variable is generally a cause in a causal relationship. An example of a causeOnly variable would be a variable such as Cloud Cover which would generally not be influenced by the behaviour of the user' + charts: + $ref: '#/components/schemas/VariableCharts' + chartsLinkDynamic: + type: string + description: 'Ex: https://local.quantimo.do/ionic/Modo/www/#/app/charts/Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29?variableName=Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29&userId=230&pngUrl=https%3A%2F%2Fapi.quantimo.do%2Fionic%2FModo%2Fwww%2Fimg%2Fvariable_categories%2Ftreatments.png' + chartsLinkEmail: + type: string + description: 'Ex: mailto:?subject=Check%20out%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20data%21&body=See%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20history%20at%20https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png%0A%0AHave%20a%20great%20day!' + chartsLinkFacebook: + type: string + description: 'Ex: https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png' + chartsLinkGoogle: + type: string + description: 'Ex: https://plus.google.com/share?url=https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png' + chartsLinkStatic: + type: string + description: 'Ex: https://local.quantimo.do/api/v2/charts?variableName=Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29&userId=230&pngUrl=https%3A%2F%2Fapi.quantimo.do%2Fionic%2FModo%2Fwww%2Fimg%2Fvariable_categories%2Ftreatments.png' + chartsLinkTwitter: + type: string + description: 'Ex: https://twitter.com/home?status=Check%20out%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20data%21%20https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png%20%40curedao' + childCommonTagVariables: + type: array + description: Commonly defined for all users. An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple. Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed. This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake. + items: + $ref: '#/components/schemas/TagVariable' + childUserTagVariables: + type: array + description: 'User-Defined Variable Setting: An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple. Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed. This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake.' + items: + $ref: '#/components/schemas/TagVariable' + clientId: + type: string + description: 'Your client id can be obtained by creating an app at https://builder.quantimo.do' + combinationOperation: + type: string + description: 'User-Defined Variable Setting: How to aggregate measurements over time. SUM should be used for things like minutes of exercise. If you use MEAN for exercise, then a person might exercise more minutes in one day but add separate measurements that were smaller. So when we are doing correlational analysis, we would think that the person exercised less that day even though they exercised more. Conversely, we must use MEAN for things such as ratings which cannot be SUMMED.' + enum: + - MEAN + - SUM + commonAlias: + type: string + description: 'Ex: Anxiety / Nervousness' + commonTaggedVariables: + type: array + items: + $ref: '#/components/schemas/TagVariable' + commonTagVariables: + type: array + items: + $ref: '#/components/schemas/TagVariable' + createdAt: + type: string + description: 'When the record was first created. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format' + dataSourceNames: + type: string + description: Comma-separated list of source names to limit variables to those sources + dataSources: + type: array + description: These are sources of measurements for this variable + items: + $ref: '#/components/schemas/DataSource' + description: + type: string + description: 'User-Defined Variable Setting: Ex: Summary to be used in studies.' + displayName: + type: string + description: 'Ex: Trader Joe''s Bedtime Tea' + durationOfAction: + type: integer + description: 'The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Seconds' + format: int32 + durationOfActionInHours: + type: number + description: 'User-Defined Variable Setting: The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Hours' + format: float + earliestFillingTime: + type: integer + description: Earliest filling time + format: int32 + earliestMeasurementTime: + type: integer + description: Earliest measurement time + format: int32 + earliestSourceTime: + type: integer + description: Earliest source time + format: int32 + errorMessage: + type: string + description: Error message from last analysis + experimentEndTime: + type: string + description: 'User-Defined Variable Setting: Latest measurement time to be used in analysis. Format: UTC ISO 8601 YYYY-MM-DDThh:mm:ss.' + experimentStartTime: + type: string + description: 'User-Defined Variable Setting: Earliest measurement time to be used in analysis. Format: UTC ISO 8601 YYYY-MM-DDThh:mm:ss.' + fillingType: + type: string + description: 'User-Defined Variable Setting: When it comes to analysis to determine the effects of this variable, knowing when it did not occur is as important as knowing when it did occur. For example, if you are tracking a medication, it is important to know when you did not take it, but you do not have to log zero values for all the days when you haven''t taken it. Hence, you can specify a filling value (typically 0) to insert whenever data is missing.' + enum: + - none + - zero-filling + - value-filling + fillingValue: + type: number + description: 'User-Defined Variable Setting: When it comes to analysis to determine the effects of this variable, knowing when it did not occur is as important as knowing when it did occur. For example, if you are tracking a medication, it is important to know when you did not take it, but you do not have to log zero values for all the days when you haven''t taken it. Hence, you can specify a filling value (typically 0) to insert whenever data is missing. Unit: User-specified or common.' + format: float + iconIcon: + type: string + description: 'Ex: ion-sad-outline' + id: + type: integer + description: 'Ex: 95614' + imageUrl: + type: string + informationalUrl: + type: string + description: 'Ex: https://google.com' + ingredientOfCommonTagVariables: + type: array + description: 'Commonly defined for all users. IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredient of the variable Lollipop could be Sugar. This way you only have to record Lollipop consumption, and we can use this data to see how sugar might be affecting you.' + items: + $ref: '#/components/schemas/TagVariable' + ingredientCommonTagVariables: + type: array + description: 'Commonly defined for all users. IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredient of the variable Lollipop could be Sugar. This way you only have to record Lollipop consumption, and we can use this data to see how sugar might be affecting you.' + items: + $ref: '#/components/schemas/TagVariable' + ingredientOfUserTagVariables: + type: array + description: 'User-Defined Variable Setting: IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredient of the variable Lollipop could be Sugar. This way you only have to record Lollipop consumption, and we can use this data to see how sugar might be affecting you.' + items: + $ref: '#/components/schemas/TagVariable' + ingredientUserTagVariables: + type: array + description: 'User-Defined Variable Setting: IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredient of the variable Lollipop could be Sugar. This way you only have to record Lollipop consumption, and we can use this data to see how sugar might be affecting you.' + items: + $ref: '#/components/schemas/TagVariable' + inputType: + type: string + description: Type of input field to show for recording measurements + ionIcon: + type: string + joinedCommonTagVariables: + type: array + description: 'Commonly defined for all users. Joining can be used used to merge duplicate variables. For instance, if two variables called Apples (Red Delicious) and Red Delicious Apples are joined, when one of them is analyzed, the measurements for the other will be included as well.' + items: + $ref: '#/components/schemas/TagVariable' + joinedUserTagVariables: + type: array + description: 'User-Defined Variable Setting: Joining can be used used to merge duplicate variables. For instance, if two variables called Apples (Red Delicious) and Red Delicious Apples are joined, when one of them is analyzed, the measurements for the other will be included as well.' + items: + $ref: '#/components/schemas/TagVariable' + joinWith: + type: integer + description: Duplicate variables. If the variable is joined with some other variable then it is not shown to user in the list of variables + format: int32 + kurtosis: + type: number + description: Kurtosis + format: float + lastProcessedDailyValue: + type: number + description: 'Calculated Statistic: Ex: 500. Unit: User-specified or common.' + format: double + lastSuccessfulUpdateTime: + type: string + description: 'When this variable or its settings were last updated UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + lastValue: + type: number + description: 'Calculated Statistic: Last measurement value in the common unit or user unit if different. Unit: User-specified or common.' + format: float + latestFillingTime: + type: integer + description: Latest filling time + format: int32 + latestMeasurementTime: + type: integer + description: 'Latest measurement time. Format: Unix-time epoch seconds.' + format: int32 + latestSourceTime: + type: integer + description: 'Latest source time. Format: Unix-time epoch seconds.' + format: int32 + latestUserMeasurementTime: + type: integer + description: 'Ex: 1501383600. Format: Unix-time epoch seconds.' + latitude: + type: number + description: 'Latitude. Unit: User-specified or common.' + format: float + location: + type: string + description: Location + longitude: + type: number + description: Longitude + format: float + manualTracking: + type: boolean + description: True if the variable is an emotion or symptom rating that is not typically automatically collected by a device or app. + maximumAllowedDailyValue: + type: number + description: 'User-Defined Variable Setting: The maximum allowed value a daily aggregated measurement. Unit: User-specified or common.' + format: float + maximumAllowedValue: + type: number + description: 'User-Defined Variable Setting: The maximum allowed value a single measurement. While you can record a value above this maximum, it will be excluded from the correlation analysis. Unit: User-specified or common.' + format: float + maximumRecordedDailyValue: + type: number + description: 'Calculated Statistic: Maximum recorded daily value of this variable. Unit: User-specified or common.' + format: float + maximumRecordedValue: + type: number + description: 'Calculated Statistic: Ex: 1. Unit: User-specified or common.' + format: double + mean: + type: number + description: 'Mean. Unit: User-specified or common.' + format: float + measurementsAtLastAnalysis: + type: integer + description: Number of measurements at last analysis + format: int32 + median: + type: number + description: Median + format: float + minimumAllowedValue: + type: number + description: 'User-Defined Variable Setting: The minimum allowed value a single measurement. While you can record a value below this minimum, it will be excluded from the correlation analysis. Unit: User-specified or common' + format: float + minimumAllowedDailyValue: + type: number + description: 'User-Defined Variable Setting: The minimum allowed value a daily aggregated measurement. For instance, you might set to 100 for steps to keep erroneous 0 daily steps out of the analysis. Unit: User-specified or common.' + format: float + minimumNonZeroValue: + type: number + description: 'User-Defined Variable Setting: The minimum allowed non-zero value a single measurement. For instance, you might set to 100 mL for steps to keep erroneous 0 daily steps out of the analysis. Unit: User-specified or common.' + format: float + minimumRecordedValue: + type: number + description: 'Minimum recorded value of this variable. Unit: User-specified or common.' + format: float + mostCommonConnectorId: + type: integer + description: 'Ex: 51' + mostCommonOriginalUnitId: + type: integer + description: 'Ex: 23' + mostCommonUnitId: + type: integer + description: Most common Unit ID + format: int32 + mostCommonValue: + type: number + description: 'Calculated Statistic: Most common value. Unit: User-specified or common.' + format: float + name: + type: string + description: 'Ex: Trader Joes Bedtime Tea / Sleepytime Tea (any Brand)' + numberOfGlobalVariableRelationshipsAsCause: + type: integer + description: 'Ex: 1' + numberOfGlobalVariableRelationshipsAsEffect: + type: integer + description: 'Ex: 310' + numberOfChanges: + type: integer + description: Number of changes + format: int32 + numberOfCorrelations: + type: integer + description: Number of user_variable_relationships for this variable + format: int32 + numberOfCorrelationsAsCause: + type: integer + description: numberOfGlobalVariableRelationshipsAsCause plus numberOfUserVariableRelationshipsAsCause + numberOfCorrelationsAsEffect: + type: integer + description: numberOfGlobalVariableRelationshipsAsEffect plus numberOfUserVariableRelationshipsAsEffect + numberOfProcessedDailyMeasurements: + type: integer + description: Number of processed measurements + format: int32 + numberOfRawMeasurements: + type: integer + description: 'Ex: 295' + numberOfTrackingReminders: + type: integer + description: 'Ex: 1' + numberOfUniqueDailyValues: + type: number + description: Number of unique daily values + format: float + numberOfUniqueValues: + type: integer + description: 'Ex: 2' + numberOfUserVariableRelationshipsAsCause: + type: integer + description: 'Ex: 115' + numberOfUserVariableRelationshipsAsEffect: + type: integer + description: 'Ex: 29014' + numberOfUserVariables: + type: integer + description: 'Ex: 2' + onsetDelay: + type: integer + description: 'The amount of time in seconds that elapses after the predictor/stimulus event before the outcome as perceived by a self-tracker is known as the onset delay. For example, the onset delay between the time a person takes an aspirin (predictor/stimulus event) and the time a person perceives a change in their headache severity (outcome) is approximately 30 minutes.' + format: int32 + onsetDelayInHours: + type: number + description: 'User-Defined Variable Setting: The amount of time in seconds that elapses after the predictor/stimulus event before the outcome as perceived by a self-tracker is known as the onset delay. For example, the onset delay between the time a person takes an aspirin (predictor/stimulus event) and the time a person perceives a change in their headache severity (outcome) is approximately 30 minutes.' + format: double + outcome: + type: boolean + description: 'User-Defined Variable Setting: True for variables for which a human would generally want to identify the influencing factors. These include symptoms of illness, physique, mood, cognitive performance, etc. Generally correlation calculations are only performed on outcome variables' + outcomeOfInterest: + type: boolean + description: Do you want to receive updates on newly discovered factors influencing this variable? + parentCommonTagVariables: + type: array + description: Commonly defined for all users. An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple. Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed. This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake. + items: + $ref: '#/components/schemas/TagVariable' + parentUserTagVariables: + type: array + description: User-defined. An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple. Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed. This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake. + items: + $ref: '#/components/schemas/TagVariable' + pngPath: + type: string + description: 'Ex: img/variable_categories/treatments.png' + pngUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/treatments.png' + predictorOfInterest: + type: integer + description: 'Ex: 0' + price: + type: number + description: 'Ex: 95.4' + format: double + productUrl: + type: string + description: Link to associated product for purchase + public: + type: boolean + description: Should this variable show up in automcomplete searches for users who do not already have measurements for it? + question: + type: string + description: 'Ex: How is your overall mood?' + longQuestion: + type: string + description: 'Ex: How is your overall mood on a scale of 1 to 5??' + rawMeasurementsAtLastAnalysis: + type: integer + description: 'Ex: 131' + secondMostCommonValue: + type: number + description: 'Calculated Statistic: Ex: 1. Unit: User-specified or common.' + format: double + secondToLastValue: + type: number + description: 'Calculated Statistic: Ex: 250. Unit: User-specified or common.' + format: double + shareUserMeasurements: + type: boolean + description: Would you like to make your measurements publicly visible? + skewness: + type: number + description: Skewness + format: float + standardDeviation: + type: number + description: 'Standard deviation Ex: 0.46483219855434' + format: double + status: + type: string + description: status + subtitle: + type: string + description: Based on sort filter and can be shown beneath variable name on search list + svgUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/treatments.svg' + thirdMostCommonValue: + type: number + description: 'Calculated Statistic: Ex: 6. Unit: User-specified or common.' + format: double + thirdToLastValue: + type: number + description: 'Calculated Statistic: Ex: 250. Unit: User-specified or common.' + format: double + trackingInstructions: + type: string + description: HTML instructions for tracking + trackingInstructionsCard: + $ref: '#/components/schemas/Card' + unit: + $ref: '#/components/schemas/Unit' + unitAbbreviatedName: + type: string + description: 'Ex: count' + unitCategoryId: + type: integer + description: 'Ex: 6' + unitCategoryName: + type: string + description: 'Ex: Miscellany' + unitId: + type: integer + description: ID of unit to use for this variable + format: int32 + unitName: + type: string + description: 'User-Defined Variable Setting: Count' + upc: + type: string + description: Universal product code or similar + updated: + type: integer + description: updated + format: int32 + updatedAt: + type: string + description: 'When the record in the database was last updated. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format' + updatedTime: + type: string + description: 'Ex: 2017-07-30 14:58:26' + userId: + type: integer + description: User ID + format: int32 + userTaggedVariables: + type: array + items: + $ref: '#/components/schemas/TagVariable' + userTagVariables: + type: array + items: + $ref: '#/components/schemas/TagVariable' + userVariableUnitAbbreviatedName: + type: string + description: 'Ex: count' + userVariableUnitCategoryId: + type: integer + description: 'Ex: 6' + userVariableUnitCategoryName: + type: string + description: 'Ex: Miscellany' + userVariableUnitId: + type: integer + description: 'Ex: 23' + userVariableUnitName: + type: string + description: 'Ex: Count' + variableCategory: + $ref: '#/components/schemas/VariableCategory' + joinedVariables: + type: array + description: Array of Variables that are joined with this Variable + items: + $ref: '#/components/schemas/TagVariable' + valence: + type: string + description: 'Valence indicates what type of buttons should be used when recording measurements for this variable. positive - Face buttons with the happiest face equating to a 5/5 rating where higher is better like Overall Mood. negative - Face buttons with the happiest face equating to a 1/5 rating where lower is better like Headache Severity. numeric - Just 1 to 5 numeric buttons for neutral variables. ' + variableCategoryId: + type: integer + description: 'Ex: 6' + variableCategoryName: + type: string + description: 'User-Defined Variable Setting: Variable category like Emotions, Sleep, Physical Activities, Treatments, Symptoms, etc.' + enum: + - Activity + - Books + - Causes of Illness + - Cognitive Performance + - Conditions + - Emotions + - Environment + - Foods + - Goals + - Locations + - Miscellaneous + - Movies and TV + - Music + - Nutrients + - Payments + - Physical Activities + - Physique + - Sleep + - Social Interactions + - Software + - Symptoms + - Treatments + - Vital Signs + variableId: + type: integer + description: 'Ex: 96380' + variableName: + type: string + description: 'Ex: Sleep Duration' + variance: + type: number + description: 'Statistic: Ex: 115947037.40816' + format: double + wikipediaTitle: + type: string + description: 'User-Defined Variable Setting: You can help to improve the studies by pasting the title of the most appropriate Wikipedia article for this variable' + UserVariable: + required: + - id + - name + - userId + - variableId + type: object + properties: + actionArray: + type: array + items: + $ref: '#/components/schemas/TrackingReminderNotificationAction' + alias: + type: string + description: 'User-Defined Variable Setting: Alternative display name' + availableUnits: + type: array + items: + $ref: '#/components/schemas/Unit' + bestStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for user or population + bestStudyCard: + $ref: '#/components/schemas/Card' + bestUserStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for user + bestUserStudyCard: + $ref: '#/components/schemas/Card' + bestPopulationStudyLink: + type: string + description: Link to study comparing variable with strongest relationship for population + bestPopulationStudyCard: + $ref: '#/components/schemas/Card' + optimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for user or population + commonOptimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for population + userOptimalValueMessage: + type: string + description: Description of relationship with variable with strongest relationship for user + card: + $ref: '#/components/schemas/Card' + causeOnly: + type: boolean + description: 'User-Defined Variable Setting: True indicates that this variable is generally a cause in a causal relationship. An example of a causeOnly variable would be a variable such as Cloud Cover which would generally not be influenced by the behaviour of the user' + charts: + $ref: '#/components/schemas/VariableCharts' + chartsLinkDynamic: + type: string + description: 'Ex: https://local.quantimo.do/ionic/Modo/www/#/app/charts/Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29?variableName=Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29&userId=230&pngUrl=https%3A%2F%2Fapi.quantimo.do%2Fionic%2FModo%2Fwww%2Fimg%2Fvariable_categories%2Ftreatments.png' + chartsLinkEmail: + type: string + description: 'Ex: mailto:?subject=Check%20out%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20data%21&body=See%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20history%20at%20https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png%0A%0AHave%20a%20great%20day!' + chartsLinkFacebook: + type: string + description: 'Ex: https://www.facebook.com/sharer/sharer.php?u=https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png' + chartsLinkGoogle: + type: string + description: 'Ex: https://plus.google.com/share?url=https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png' + chartsLinkStatic: + type: string + description: 'Ex: https://local.quantimo.do/api/v2/charts?variableName=Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29&userId=230&pngUrl=https%3A%2F%2Fapi.quantimo.do%2Fionic%2FModo%2Fwww%2Fimg%2Fvariable_categories%2Ftreatments.png' + chartsLinkTwitter: + type: string + description: 'Ex: https://twitter.com/home?status=Check%20out%20my%20Trader%20Joes%20Bedtime%20Tea%20%2F%20Sleepytime%20Tea%20%28any%20Brand%29%20data%21%20https%3A%2F%2Flocal.quantimo.do%2Fapi%2Fv2%2Fcharts%3FvariableName%3DTrader%2520Joes%2520Bedtime%2520Tea%2520%252F%2520Sleepytime%2520Tea%2520%2528any%2520Brand%2529%26userId%3D230%26pngUrl%3Dhttps%253A%252F%252Fapi.quantimo.do%252Fionic%252FModo%252Fwww%252Fimg%252Fvariable_categories%252Ftreatments.png%20%40curedao' + childCommonTagVariables: + type: array + description: Commonly defined for all users. An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple. Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed. This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake. + items: + $ref: '#/components/schemas/TagVariable' + childUserTagVariables: + type: array + description: 'User-Defined Variable Setting: An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple. Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed. This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake.' + items: + $ref: '#/components/schemas/TagVariable' + clientId: + type: string + description: 'Your client id can be obtained by creating an app at https://builder.quantimo.do' + combinationOperation: + type: string + description: 'User-Defined Variable Setting: How to aggregate measurements over time. SUM should be used for things like minutes of exercise. If you use MEAN for exercise, then a person might exercise more minutes in one day but add separate measurements that were smaller. So when we are doing correlational analysis, we would think that the person exercised less that day even though they exercised more. Conversely, we must use MEAN for things such as ratings which cannot be SUMMED.' + enum: + - MEAN + - SUM + commonAlias: + type: string + description: 'Ex: Anxiety / Nervousness' + commonTaggedVariables: + type: array + items: + $ref: '#/components/schemas/TagVariable' + commonTagVariables: + type: array + items: + $ref: '#/components/schemas/TagVariable' + createdAt: + type: string + description: 'When the record was first created. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format' + dataSourceNames: + type: string + description: Comma-separated list of source names to limit variables to those sources + dataSources: + type: array + description: These are sources of measurements for this variable + items: + $ref: '#/components/schemas/DataSource' + description: + type: string + description: 'User-Defined Variable Setting: Ex: Summary to be used in studies.' + displayName: + type: string + description: 'Ex: Trader Joe''s Bedtime Tea' + durationOfAction: + type: integer + description: 'The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Seconds' + format: int32 + durationOfActionInHours: + type: number + description: 'User-Defined Variable Setting: The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Hours' + format: float + earliestFillingTime: + type: integer + description: Earliest filling time + format: int32 + earliestMeasurementTime: + type: integer + description: Earliest measurement time + format: int32 + earliestSourceTime: + type: integer + description: Earliest source time + format: int32 + errorMessage: + type: string + description: Error message from last analysis + experimentEndTime: + type: string + description: 'User-Defined Variable Setting: Latest measurement time to be used in analysis. Format: UTC ISO 8601 YYYY-MM-DDThh:mm:ss.' + experimentStartTime: + type: string + description: 'User-Defined Variable Setting: Earliest measurement time to be used in analysis. Format: UTC ISO 8601 YYYY-MM-DDThh:mm:ss.' + fillingType: + type: string + description: 'User-Defined Variable Setting: When it comes to analysis to determine the effects of this variable, knowing when it did not occur is as important as knowing when it did occur. For example, if you are tracking a medication, it is important to know when you did not take it, but you do not have to log zero values for all the days when you haven''t taken it. Hence, you can specify a filling value (typically 0) to insert whenever data is missing.' + enum: + - none + - zero-filling + - value-filling + fillingValue: + type: number + description: 'User-Defined Variable Setting: When it comes to analysis to determine the effects of this variable, knowing when it did not occur is as important as knowing when it did occur. For example, if you are tracking a medication, it is important to know when you did not take it, but you do not have to log zero values for all the days when you haven''t taken it. Hence, you can specify a filling value (typically 0) to insert whenever data is missing. Unit: User-specified or common.' + format: float + iconIcon: + type: string + description: 'Ex: ion-sad-outline' + id: + type: integer + description: 'Ex: 95614' + imageUrl: + type: string + informationalUrl: + type: string + description: 'Ex: https://google.com' + ingredientOfCommonTagVariables: + type: array + description: 'Commonly defined for all users. IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredient of the variable Lollipop could be Sugar. This way you only have to record Lollipop consumption, and we can use this data to see how sugar might be affecting you.' + items: + $ref: '#/components/schemas/TagVariable' + ingredientCommonTagVariables: + type: array + description: 'Commonly defined for all users. IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredient of the variable Lollipop could be Sugar. This way you only have to record Lollipop consumption, and we can use this data to see how sugar might be affecting you.' + items: + $ref: '#/components/schemas/TagVariable' + ingredientOfUserTagVariables: + type: array + description: 'User-Defined Variable Setting: IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredient of the variable Lollipop could be Sugar. This way you only have to record Lollipop consumption, and we can use this data to see how sugar might be affecting you.' + items: + $ref: '#/components/schemas/TagVariable' + ingredientUserTagVariables: + type: array + description: 'User-Defined Variable Setting: IngredientOf variable measurements will be included in analysis of the ingredient variable. For instance, a ingredient of the variable Lollipop could be Sugar. This way you only have to record Lollipop consumption, and we can use this data to see how sugar might be affecting you.' + items: + $ref: '#/components/schemas/TagVariable' + inputType: + type: string + description: Type of input field to show for recording measurements + ionIcon: + type: string + joinedCommonTagVariables: + type: array + description: 'Commonly defined for all users. Joining can be used used to merge duplicate variables. For instance, if two variables called Apples (Red Delicious) and Red Delicious Apples are joined, when one of them is analyzed, the measurements for the other will be included as well.' + items: + $ref: '#/components/schemas/TagVariable' + joinedUserTagVariables: + type: array + description: 'User-Defined Variable Setting: Joining can be used used to merge duplicate variables. For instance, if two variables called Apples (Red Delicious) and Red Delicious Apples are joined, when one of them is analyzed, the measurements for the other will be included as well.' + items: + $ref: '#/components/schemas/TagVariable' + joinWith: + type: integer + description: Duplicate variables. If the variable is joined with some other variable then it is not shown to user in the list of variables + format: int32 + kurtosis: + type: number + description: Kurtosis + format: float + lastProcessedDailyValue: + type: number + description: 'Calculated Statistic: Ex: 500. Unit: User-specified or common.' + format: double + lastSuccessfulUpdateTime: + type: string + description: 'When this variable or its settings were last updated UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + lastValue: + type: number + description: 'Calculated Statistic: Last measurement value in the common unit or user unit if different. Unit: User-specified or common.' + format: float + latestFillingTime: + type: integer + description: Latest filling time + format: int32 + latestMeasurementTime: + type: integer + description: 'Latest measurement time. Format: Unix-time epoch seconds.' + format: int32 + latestSourceTime: + type: integer + description: 'Latest source time. Format: Unix-time epoch seconds.' + format: int32 + latestUserMeasurementTime: + type: integer + description: 'Ex: 1501383600. Format: Unix-time epoch seconds.' + latitude: + type: number + description: 'Latitude. Unit: User-specified or common.' + format: float + location: + type: string + description: Location + longitude: + type: number + description: Longitude + format: float + manualTracking: + type: boolean + description: True if the variable is an emotion or symptom rating that is not typically automatically collected by a device or app. + maximumAllowedDailyValue: + type: number + description: 'User-Defined Variable Setting: The maximum allowed value a daily aggregated measurement. Unit: User-specified or common.' + format: float + maximumAllowedValue: + type: number + description: 'User-Defined Variable Setting: The maximum allowed value a single measurement. While you can record a value above this maximum, it will be excluded from the correlation analysis. Unit: User-specified or common.' + format: float + maximumRecordedDailyValue: + type: number + description: 'Calculated Statistic: Maximum recorded daily value of this variable. Unit: User-specified or common.' + format: float + maximumRecordedValue: + type: number + description: 'Calculated Statistic: Ex: 1. Unit: User-specified or common.' + format: double + mean: + type: number + description: 'Mean. Unit: User-specified or common.' + format: float + measurementsAtLastAnalysis: + type: integer + description: Number of measurements at last analysis + format: int32 + median: + type: number + description: Median + format: float + minimumAllowedValue: + type: number + description: 'User-Defined Variable Setting: The minimum allowed value a single measurement. While you can record a value below this minimum, it will be excluded from the correlation analysis. Unit: User-specified or common' + format: float + minimumAllowedDailyValue: + type: number + description: 'User-Defined Variable Setting: The minimum allowed value a daily aggregated measurement. For instance, you might set to 100 for steps to keep erroneous 0 daily steps out of the analysis. Unit: User-specified or common.' + format: float + minimumNonZeroValue: + type: number + description: 'User-Defined Variable Setting: The minimum allowed non-zero value a single measurement. For instance, you might set to 100 mL for steps to keep erroneous 0 daily steps out of the analysis. Unit: User-specified or common.' + format: float + minimumRecordedValue: + type: number + description: 'Minimum recorded value of this variable. Unit: User-specified or common.' + format: float + mostCommonConnectorId: + type: integer + description: 'Ex: 51' + mostCommonOriginalUnitId: + type: integer + description: 'Ex: 23' + mostCommonUnitId: + type: integer + description: Most common Unit ID + format: int32 + mostCommonValue: + type: number + description: 'Calculated Statistic: Most common value. Unit: User-specified or common.' + format: float + name: + type: string + description: 'Ex: Trader Joes Bedtime Tea / Sleepytime Tea (any Brand)' + numberOfGlobalVariableRelationshipsAsCause: + type: integer + description: 'Ex: 1' + numberOfGlobalVariableRelationshipsAsEffect: + type: integer + description: 'Ex: 310' + numberOfChanges: + type: integer + description: Number of changes + format: int32 + numberOfCorrelations: + type: integer + description: Number of user_variable_relationships for this variable + format: int32 + numberOfCorrelationsAsCause: + type: integer + description: numberOfGlobalVariableRelationshipsAsCause plus numberOfUserVariableRelationshipsAsCause + numberOfCorrelationsAsEffect: + type: integer + description: numberOfGlobalVariableRelationshipsAsEffect plus numberOfUserVariableRelationshipsAsEffect + numberOfProcessedDailyMeasurements: + type: integer + description: Number of processed measurements + format: int32 + numberOfRawMeasurements: + type: integer + description: 'Ex: 295' + numberOfTrackingReminders: + type: integer + description: 'Ex: 1' + numberOfUniqueDailyValues: + type: number + description: Number of unique daily values + format: float + numberOfUniqueValues: + type: integer + description: 'Ex: 2' + numberOfUserVariableRelationshipsAsCause: + type: integer + description: 'Ex: 115' + numberOfUserVariableRelationshipsAsEffect: + type: integer + description: 'Ex: 29014' + numberOfUserVariables: + type: integer + description: 'Ex: 2' + onsetDelay: + type: integer + description: 'The amount of time in seconds that elapses after the predictor/stimulus event before the outcome as perceived by a self-tracker is known as the onset delay. For example, the onset delay between the time a person takes an aspirin (predictor/stimulus event) and the time a person perceives a change in their headache severity (outcome) is approximately 30 minutes.' + format: int32 + onsetDelayInHours: + type: number + description: 'User-Defined Variable Setting: The amount of time in seconds that elapses after the predictor/stimulus event before the outcome as perceived by a self-tracker is known as the onset delay. For example, the onset delay between the time a person takes an aspirin (predictor/stimulus event) and the time a person perceives a change in their headache severity (outcome) is approximately 30 minutes.' + format: double + outcome: + type: boolean + description: 'User-Defined Variable Setting: True for variables for which a human would generally want to identify the influencing factors. These include symptoms of illness, physique, mood, cognitive performance, etc. Generally correlation calculations are only performed on outcome variables' + outcomeOfInterest: + type: boolean + description: Do you want to receive updates on newly discovered factors influencing this variable? + parentCommonTagVariables: + type: array + description: Commonly defined for all users. An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple. Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed. This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake. + items: + $ref: '#/components/schemas/TagVariable' + parentUserTagVariables: + type: array + description: User-defined. An example of a parent category variable would be Fruit when tagged with the child sub-type variables Apple. Child variable (Apple) measurements will be included when the parent category (Fruit) is analyzed. This allows us to see how Fruit consumption might be affecting without having to record both Fruit and Apple intake. + items: + $ref: '#/components/schemas/TagVariable' + pngPath: + type: string + description: 'Ex: img/variable_categories/treatments.png' + pngUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/treatments.png' + predictorOfInterest: + type: integer + description: 'Ex: 0' + price: + type: number + description: 'Ex: 95.4' + format: double + productUrl: + type: string + description: Link to associated product for purchase + public: + type: boolean + description: Should this variable show up in automcomplete searches for users who do not already have measurements for it? + question: + type: string + description: 'Ex: How is your overall mood?' + longQuestion: + type: string + description: 'Ex: How is your overall mood on a scale of 1 to 5??' + rawMeasurementsAtLastAnalysis: + type: integer + description: 'Ex: 131' + secondMostCommonValue: + type: number + description: 'Calculated Statistic: Ex: 1. Unit: User-specified or common.' + format: double + secondToLastValue: + type: number + description: 'Calculated Statistic: Ex: 250. Unit: User-specified or common.' + format: double + shareUserMeasurements: + type: boolean + description: Would you like to make your measurements publicly visible? + skewness: + type: number + description: Skewness + format: float + standardDeviation: + type: number + description: 'Standard deviation Ex: 0.46483219855434' + format: double + status: + type: string + description: status + subtitle: + type: string + description: Based on sort filter and can be shown beneath variable name on search list + svgUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/treatments.svg' + thirdMostCommonValue: + type: number + description: 'Calculated Statistic: Ex: 6. Unit: User-specified or common.' + format: double + thirdToLastValue: + type: number + description: 'Calculated Statistic: Ex: 250. Unit: User-specified or common.' + format: double + trackingInstructions: + type: string + description: HTML instructions for tracking + trackingInstructionsCard: + $ref: '#/components/schemas/Card' + unit: + $ref: '#/components/schemas/Unit' + unitAbbreviatedName: + type: string + description: 'Ex: count' + unitCategoryId: + type: integer + description: 'Ex: 6' + unitCategoryName: + type: string + description: 'Ex: Miscellany' + unitId: + type: integer + description: ID of unit to use for this variable + format: int32 + unitName: + type: string + description: 'User-Defined Variable Setting: Count' + upc: + type: string + description: Universal product code or similar + updated: + type: integer + description: updated + format: int32 + updatedAt: + type: string + description: 'When the record in the database was last updated. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format' + updatedTime: + type: string + description: 'Ex: 2017-07-30 14:58:26' + userId: + type: integer + description: User ID + format: int32 + userTaggedVariables: + type: array + items: + $ref: '#/components/schemas/TagVariable' + userTagVariables: + type: array + items: + $ref: '#/components/schemas/TagVariable' + userVariableUnitAbbreviatedName: + type: string + description: 'Ex: count' + userVariableUnitCategoryId: + type: integer + description: 'Ex: 6' + userVariableUnitCategoryName: + type: string + description: 'Ex: Miscellany' + userVariableUnitId: + type: integer + description: 'Ex: 23' + userVariableId: + type: integer + description: 'Ex: 95614' + userVariableUnitName: + type: string + description: 'Ex: Count' + variableCategory: + $ref: '#/components/schemas/VariableCategory' + joinedVariables: + type: array + description: Array of Variables that are joined with this Variable + items: + $ref: '#/components/schemas/TagVariable' + valence: + type: string + description: 'Valence indicates what type of buttons should be used when recording measurements for this variable. positive - Face buttons with the happiest face equating to a 5/5 rating where higher is better like Overall Mood. negative - Face buttons with the happiest face equating to a 1/5 rating where lower is better like Headache Severity. numeric - Just 1 to 5 numeric buttons for neutral variables. ' + variableCategoryId: + type: integer + description: 'Ex: 6' + variableCategoryName: + type: string + description: 'User-Defined Variable Setting: Variable category like Emotions, Sleep, Physical Activities, Treatments, Symptoms, etc.' + enum: + - Activity + - Books + - Causes of Illness + - Cognitive Performance + - Conditions + - Emotions + - Environment + - Foods + - Goals + - Locations + - Miscellaneous + - Movies and TV + - Music + - Nutrients + - Payments + - Physical Activities + - Physique + - Sleep + - Social Interactions + - Software + - Symptoms + - Treatments + - Vital Signs + variableId: + type: integer + description: 'Ex: 96380' + variableName: + type: string + description: 'Ex: Sleep Duration' + variance: + type: number + description: 'Statistic: Ex: 115947037.40816' + format: double + wikipediaTitle: + type: string + description: 'User-Defined Variable Setting: You can help to improve the studies by pasting the title of the most appropriate Wikipedia article for this variable' + UserVariableDelete: + required: + - variableId + type: object + properties: + variableId: + type: integer + description: Id of the variable whose measurements should be deleted + VariableCategory: + required: + - name + type: object + properties: + appType: + type: string + description: 'Ex: mood' + causeOnly: + type: boolean + description: 'Ex: false' + combinationOperation: + type: string + description: 'Ex: MEAN' + createdTime: + type: string + description: 'UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + unitAbbreviatedName: + type: string + description: 'Ex: /5' + unitId: + type: integer + description: 'Ex: 10' + durationOfAction: + type: integer + description: 'User-Defined Variable Setting: The amount of time over which a predictor/stimulus event can exert an observable influence on an outcome variable value. For instance, aspirin (stimulus/predictor) typically decreases headache severity for approximately four hours (duration of action) following the onset delay. Unit: Seconds' + fillingValue: + type: integer + description: 'Ex: -1. Unit: Variable category default unit.' + helpText: + type: string + description: 'Ex: What emotion do you want to rate?' + id: + type: integer + description: 'Ex: 1' + imageUrl: + type: string + description: 'Ex: https://static.quantimo.do/img/variable_categories/theatre_mask-96.png' + ionIcon: + type: string + description: 'Ex: ion-happy-outline' + manualTracking: + type: boolean + description: 'Ex: true' + maximumAllowedValue: + type: string + description: 'Unit: Variable category default unit.' + measurementSynonymSingularLowercase: + type: string + description: 'Ex: rating' + minimumAllowedValue: + type: string + description: 'Unit: Variable category default unit.' + moreInfo: + type: string + description: 'Ex: Do you have any emotions that fluctuate regularly? If so, add them so I can try to determine which factors are influencing them.' + name: + type: string + description: Category name + onsetDelay: + type: integer + description: 'Ex: 0' + outcome: + type: boolean + description: 'Ex: true' + pngPath: + type: string + description: 'Ex: img/variable_categories/emotions.png' + pngUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/emotions.png' + public: + type: boolean + description: 'Ex: true' + svgPath: + type: string + description: 'Ex: img/variable_categories/emotions.svg' + svgUrl: + type: string + description: 'Ex: https://safe.dfda.earth/img/variable_categories/emotions.svg' + updated: + type: integer + description: 'Ex: 1' + updatedTime: + type: string + description: 'UTC ISO 8601 YYYY-MM-DDThh:mm:ss' + variableCategoryName: + type: string + description: 'Ex: Emotions, Treatments, Symptoms...' + enum: + - Activity + - Books + - Causes of Illness + - Cognitive Performance + - Conditions + - Emotions + - Environment + - Foods + - Goals + - Locations + - Miscellaneous + - Movies and TV + - Music + - Nutrients + - Payments + - Physical Activities + - Physique + - Sleep + - Social Interactions + - Software + - Symptoms + - Treatments + - Vital Signs + variableCategoryNameSingular: + type: string + description: 'Ex: Emotion' + VariableCharts: + type: object + properties: + hourlyColumnChart: + $ref: '#/components/schemas/Chart' + monthlyColumnChart: + $ref: '#/components/schemas/Chart' + distributionColumnChart: + $ref: '#/components/schemas/Chart' + weekdayColumnChart: + $ref: '#/components/schemas/Chart' + lineChartWithoutSmoothing: + $ref: '#/components/schemas/Chart' + lineChartWithSmoothing: + $ref: '#/components/schemas/Chart' + description: An object with various chart properties each property contain and svg and Highcharts configuration + Vote: + required: + - causeVariableId + - clientId + - effectVariableId + - userId + - value + type: object + properties: + causeVariableId: + type: integer + description: Cause variable id + clientId: + type: string + description: 'Your client id can be obtained by creating an app at https://builder.quantimo.do' + createdAt: + type: string + description: 'When the record was first created. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format' + effectVariableId: + type: integer + description: Effect variable id + id: + type: integer + description: id + format: int32 + updatedAt: + type: string + description: 'When the record in the database was last updated. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format' + userId: + type: integer + description: ID of User + format: int32 + value: + type: string + description: Vote down for implausible/not-useful or up for plausible/useful. Vote none to delete a previous vote. + enum: + - up + - down + - none + type: + type: string + description: 'Your client id can be obtained by creating an app at https://builder.quantimo.do' + enum: + - causality + - usefulness + parameters: + appVersionParam: + name: appVersion + in: query + description: 'Ex: 2.1.1.0' + schema: + type: string + causeVariableNameParam: + name: causeVariableName + in: query + description: 'Deprecated: Name of the hypothetical predictor variable. Ex: Sleep Duration' + schema: + type: string + causeVariableIdParam: + name: causeVariableId + in: query + description: 'Variable id of the hypothetical predictor variable. Ex: 1398' + schema: + type: integer + clientIdParam: + name: clientId + in: query + description: 'Your client id can be obtained by creating an app at https://builder.quantimo.do' + schema: + type: string + clientSecretParam: + name: client_secret + in: query + description: 'This is the secret for your obtained clientId. We use this to ensure that only your application uses the clientId. Obtain this by creating a free application at [https://builder.quantimo.do](https://builder.quantimo.do).' + schema: + type: string + clientUserIdParam: + name: clientUserId + in: query + description: 'Ex: 74802' + schema: + type: integer + codeParam: + name: code + in: query + description: Authorization code you received with the previous request. + required: true + schema: + type: string + connectorNameParam: + name: connectorName + in: query + description: 'Ex: facebook' + schema: + type: string + connectorNamePathParam: + name: connectorName + in: path + description: Lowercase system name of the source application or device. Get a list of available connectors from the /v3/connectors/list endpoint. + required: true + schema: + type: string + enum: + - facebook + - fitbit + - github + - googlecalendar + - googlefit + - medhelper + - mint + - moodpanda + - moodscope + - myfitnesspal + - mynetdiary + - netatmo + - rescuetime + - runkeeper + - slack + - sleepcloud + - slice + - up + - whatpulse + - withings + - worldweatheronline + - foursquare + - strava + - gmail + correlationCoefficientParam: + name: correlationCoefficient + in: query + description: Pearson correlation coefficient between cause and effect after lagging by onset delay and grouping by duration of action + schema: + type: string + createdParam: + name: created + in: query + description: These are studies that you have created + schema: + type: boolean + downVotedParam: + name: downvoted + in: query + description: These are studies that you have down-voted + schema: + type: boolean + createdAtParam: + name: createdAt + in: query + description: 'When the record was first created. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format. Time zone should be UTC and not local.' + schema: + type: string + doNotConvertParam: + name: doNotConvert + in: query + description: 'Ex: 1' + schema: + type: boolean + doNotProcessParam: + name: doNotProcess + in: query + description: 'Ex: true' + schema: + type: boolean + earliestMeasurementTimeParam: + name: earliestMeasurementTime + in: query + description: 'Excluded records with measurement times earlier than this value. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format. Time zone should be UTC and not local.' + schema: + type: string + effectOrCauseParam: + name: effectOrCause + in: query + description: Provided variable is the effect or cause + schema: + type: string + effectVariableNameParam: + name: effectVariableName + in: query + description: 'Deprecated: Name of the outcome variable of interest. Ex: Overall Mood' + schema: + type: string + effectVariableIdParam: + name: effectVariableId + in: query + description: 'Variable id of the outcome variable of interest. Ex: 1398' + schema: + type: integer + exactMatchParam: + name: exactMatch + in: query + description: Require exact match + schema: + type: boolean + grantTypeParam: + name: grant_type + in: query + description: Grant Type can be 'authorization_code' or 'refresh_token' + required: true + schema: + type: string + groupingTimezoneParam: + name: groupingTimezone + in: query + description: The time (in seconds) over which measurements are grouped together + schema: + type: string + groupingWidthParam: + name: groupingWidth + in: query + description: The time (in seconds) over which measurements are grouped together + schema: + type: integer + includeAuthorizedClientsParam: + name: includeAuthorizedClients + in: query + description: 'Return list of apps, studies, and individuals with access to user data' + schema: + type: boolean + includeChartsParam: + name: includeCharts + in: query + description: Highcharts configs that can be used if you have highcharts.js included on the page. This only works if the id or name query parameter is also provided. + schema: + type: boolean + includeDeletedParam: + name: includeDeleted + in: query + description: Include deleted variables + schema: + type: boolean + includePrivateParam: + name: includePrivate + in: query + description: Include user-specific variables in results + schema: + type: boolean + includePublicParam: + name: includePublic + in: query + description: Include variables the user has no measurements for + schema: + type: boolean + includeTagsParam: + name: includeTags + in: query + description: 'Return parent, child, duplicate, and ingredient variables' + schema: + type: boolean + joinedParam: + name: joined + in: query + description: These are studies that you have joined + schema: + type: boolean + lastSourceParam: + name: lastSourceName + in: query + description: 'Limit variables to those which measurements were last submitted by a specific source. So if you have a client application and you only want variables that were last updated by your app, you can include the name of your app here' + schema: + type: string + latestMeasurementTimeParam: + name: latestMeasurementTime + in: query + description: 'Excluded records with measurement times later than this value. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format. Time zone should be UTC and not local.' + schema: + type: string + limitParam: + name: limit + in: query + description: 'The LIMIT is used to limit the number of results returned. So if youhave 1000 results, but only want to the first 10, you would set this to 10 and offset to 0. The maximum limit is 200 records.' + schema: + type: integer + default: 100 + log: + name: log + in: query + description: Username or email + schema: + type: string + manualTrackingParam: + name: manualTracking + in: query + description: Only include variables tracked manually by the user + schema: + type: boolean + minMaxFilterParam: + name: minMaxFilter + in: query + description: 'Ex: 1' + schema: + type: boolean + numberOfRawMeasurementsParam: + name: numberOfRawMeasurements + in: query + description: Filter variables by the total number of measurements that they have. This could be used of you want to filter or sort by popularity. + schema: + type: string + offsetParam: + name: offset + in: query + description: 'OFFSET says to skip that many rows before beginning to return rows to the client. OFFSET 0 is the same as omitting the OFFSET clause.If both OFFSET and LIMIT appear, then OFFSET rows are skipped before starting to count the LIMIT rows that are returned.' + schema: + minimum: 0 + type: integer + onlyPastParam: + name: onlyPast + in: query + description: 'Ex: 1' + schema: + type: boolean + openParam: + name: open + in: query + description: These are studies that anyone can join + schema: + type: boolean + outcomesOfInterestParam: + name: outcomesOfInterest + in: query + description: Only include user_variable_relationships for which the effect is an outcome of interest for the user + schema: + type: boolean + platform: + name: platform + in: query + description: 'Ex: chrome, android, ios, web' + schema: + type: string + enum: + - chrome + - android + - ios + - web + aggregatedParam: + name: aggregated + in: query + description: These are aggregated n=1 studies based on the entire population of users that have shared their data + schema: + type: boolean + principalInvestigatorUserIdParam: + name: principalInvestigatorUserId + in: query + description: These are studies created by a specific principal investigator + schema: + type: integer + publicEffectOrCauseParam: + name: publicEffectOrCause + in: query + description: 'Ex: ' + schema: + type: string + pwd: + name: pwd + in: query + description: User password + schema: + type: string + recalculate: + name: recalculate + in: query + description: Recalculate instead of using cached analysis + schema: + type: boolean + redirectUriParam: + name: redirect_uri + in: query + description: The redirect URI is the URL within your client application that will receive the OAuth2 credentials. + schema: + type: string + reminderTimeParam: + name: reminderTime + in: query + description: 'Ex: (lt)2017-07-31 21:43:26' + schema: + type: string + responseTypeParam: + name: response_type + in: query + description: 'If the value is code, launches a Basic flow, requiring a POST to the token endpoint to obtain the tokens. If the value is token id_token or id_token token, launches an Implicit flow, requiring the use of Javascript at the redirect URI to retrieve tokens from the URI #fragment.' + required: true + schema: + type: string + scopeParam: + name: scope + in: query + description: 'Scopes include basic, readmeasurements, and writemeasurements. The `basic` scope allows you to read user info (displayName, email, etc). The `readmeasurements` scope allows one to read a user''s data. The `writemeasurements` scope allows you to write user data. Separate multiple scopes by a space.' + required: true + schema: + type: string + searchPhraseParam: + name: searchPhrase + in: query + description: 'Ex: %Body Fat%' + schema: + type: string + sortParam: + name: sort + in: query + description: 'Sort by one of the listed field names. If the field name is prefixed with `-`, it will sort in descending order.' + schema: + type: string + sourceNameParam: + name: sourceName + in: query + description: ID of the source you want measurements for (supports exact name match only) + schema: + type: string + stateParam: + name: state + in: query + description: 'An opaque string that is round-tripped in the protocol; that is to say, it is returned as a URI parameter in the Basic flow, and in the URI' + schema: + type: string + studyClientIdParam: + name: studyId + in: query + description: Client id for the study you want + schema: + type: string + synonymsParam: + name: synonyms + in: query + description: 'Ex: McDonalds hotcake' + schema: + type: string + taggedVariableIdParam: + name: taggedVariableId + in: query + description: Id of the tagged variable (i.e. Lollipop) you would like to get variables it can be tagged with (i.e. Sugar). Converted measurements of the tagged variable are included in analysis of the tag variable (i.e. ingredient). + schema: + type: integer + tagVariableIdParam: + name: tagVariableId + in: query + description: Id of the tag variable (i.e. Sugar) you would like to get variables it can be tagged to (i.e. Lollipop). Converted measurements of the tagged variable are included in analysis of the tag variable (i.e. ingredient). + schema: + type: integer + unitNameParam: + name: unitName + in: query + description: 'Ex: Milligrams' + schema: + type: string + enum: + - '% Recommended Daily Allowance' + - '-4 to 4 Rating' + - 0 to 1 Rating + - 0 to 5 Rating + - 1 to 10 Rating + - 1 to 5 Rating + - Applications + - Beats per Minute + - Calories + - Capsules + - Centimeters + - Count + - Degrees Celsius + - Degrees East + - Degrees Fahrenheit + - Degrees North + - Dollars + - Drops + - Event + - Feet + - Grams + - Hours + - Inches + - Index + - Kilocalories + - Kilograms + - Kilometers + - Liters + - Meters + - Micrograms + - Micrograms per decilitre + - Miles + - Milligrams + - Milliliters + - Millimeters + - Millimeters Merc + - Milliseconds + - Minutes + - Pascal + - Percent + - Pieces + - Pills + - Pounds + - Puffs + - Seconds + - Serving + - Sprays + - Tablets + - Torr + - Units + - Yes/No + - per Minute + - Doses + - Quarts + - Ounces + - International Units + - Meters per Second + updatedAtParam: + name: updatedAt + in: query + description: 'When the record was last updated. Use UTC ISO 8601 YYYY-MM-DDThh:mm:ss datetime format. Time zone should be UTC and not local.' + schema: + type: string + userIdParam: + name: userId + in: query + description: User's id + schema: + type: number + valueParam: + name: value + in: query + description: Value of measurement + schema: + type: string + variableCategoryIdParam: + name: variableCategoryId + in: query + description: 'Ex: 13' + schema: + type: integer + variableIdParam: + name: variableId + in: query + description: 'Ex: 13' + schema: + type: integer + variableCategoryNameParam: + name: variableCategoryName + in: query + description: 'Ex: Emotions, Treatments, Symptoms...' + schema: + type: string + enum: + - Activities + - Books + - Causes of Illness + - Cognitive Performance + - Conditions + - Emotions + - Environment + - Foods + - Location + - Miscellaneous + - Movies and TV + - Music + - Nutrients + - Payments + - Physical Activity + - Physique + - Sleep + - Social Interactions + - Software + - Symptoms + - Treatments + - Vital Signs + - Goals + variableNameParam: + name: variableName + in: query + description: Name of the variable you want measurements for + schema: + type: string + conciseParam: + name: concise + in: query + description: Only return field required for variable auto-complete searches. The smaller size allows for storing more variable results locally reducing API requests. + schema: + type: boolean + requestBodies: + userVariablesParam: + description: Variable user settings data + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/Variable' + required: true + variableIdBodyParam: + description: Id of the variable whose measurements should be deleted + content: + application/json: + schema: + $ref: '#/components/schemas/UserVariableDelete' + required: true + securitySchemes: + bearerAuth: + type: http + scheme: bearer + bearerFormat: JWT + description: Enter your bearer token in the format `Bearer access_token_here` + client_id: + type: apiKey + name: clientId + in: query + OAuth2: + type: oauth2 + flows: + authorizationCode: + authorizationUrl: 'https://safe.dfda.earth/oauth/authorize' + tokenUrl: 'https://safe.dfda.earth/oauth/token' + scopes: + basic: 'Allows you to read user info (display name, email, etc)' + readmeasurements: Allows one to read a user's measurements + writemeasurements: Allows you to write user measurements + ClientIdHeader: + type: apiKey + in: header + name: X-CLIENT-ID + description: Client ID for authentication from https://builder.dfda.earth + ClientSecretHeader: + type: apiKey + in: header + name: X-CLIENT-SECRET + description: Backend secret allowing you to store and retrieve data for your users. Obtain from https://builder.dfda.earth diff --git a/otc-drugs.md b/otc-drugs.md new file mode 100644 index 00000000..c25afc4b --- /dev/null +++ b/otc-drugs.md @@ -0,0 +1,54 @@ +Here’s an estimated table of the number of lives that could potentially be saved annually if these drugs were made more accessible, based on available data and studies: + +| **Drug** | **Purpose** | **Estimated Lives Saved Annually** | **Source of Deaths Prevented** | +|---------------------------|--------------------------------------------|------------------------------------|-----------------------------------------------------------| +| **Naloxone (Narcan)** | Reverses opioid overdoses | ~50,000 | Opioid overdoses (over 100,000 annually in the U.S.) | +| **Low-Dose Aspirin** | Prevents heart attacks and strokes | ~10,000 | Cardiovascular disease, especially secondary prevention | +| **Statins** | Reduces cholesterol, prevents heart disease | ~25,000 | Heart attacks and strokes in high-risk populations | +| **Oral Contraceptives** | Prevents unintended pregnancies | ~70,000 | Maternal mortality globally due to unsafe abortions/pregnancy | +| **Buprenorphine** | Treats opioid use disorder | ~30,000 | Opioid overdoses through treatment accessibility | +| **Hydroxyurea** | Treats sickle cell disease | ~100,000 | Complications from sickle cell disease, especially in Africa | +| **Misoprostol** | Prevents postpartum hemorrhage, manages miscarriages | ~75,000 (PubMed: reduces PPH deaths by 60-80%) | Maternal mortality globally | +| **PrEP (e.g., Truvada)** | Prevents HIV transmission | ~250,000 | HIV/AIDS deaths globally | +| **Ivermectin (for parasites)** | Treats river blindness, scabies, etc. | ~250,000 (WHO: prevents 200,000 deaths annually from river blindness alone) | Parasitic infections, especially in low-income regions | +| **Albuterol Inhalers** | Treats asthma and COPD emergencies | ~10,000 | Preventable asthma/COPD deaths globally | +| **Proton Pump Inhibitors**| Treats GERD, prevents esophageal cancer | ~5,000 | Esophageal cancer deaths from untreated GERD | +| **PEP (Antiretrovirals)** | Prevents HIV transmission after exposure | ~5,000 | Preventable HIV/AIDS deaths | +| **Epinephrine (EpiPen)** | Treats anaphylaxis | ~2,000 | Preventable anaphylaxis deaths | +| **Antibiotics (e.g., Azithromycin)** | Treats bacterial STIs, infections | ~10,000 | Complications from untreated infections, including infertility | +| **Ondansetron (Zofran)** | Treats nausea in chemotherapy/pregnancy | ~1,000 | Deaths from dehydration/malnutrition in high-risk patients | + +--- + +### **Notes on Estimates:** +1. **Naloxone**: Data is based on the U.S. opioid epidemic; global figures may be higher. +2. **Oral Contraceptives**: Maternal mortality figures are global, with most deaths occurring in low- and middle-income countries. +3. **PrEP and PEP**: Estimates are based on the reduction of HIV/AIDS transmission in high-risk populations. +4. **Misoprostol**: Prevents deaths from postpartum hemorrhage and unsafe abortion complications globally. +5. **Hydroxyurea**: Focused on sickle cell disease patients, particularly in sub-Saharan Africa. +6. **Statins and Aspirin**: Based on reductions in cardiovascular disease-related deaths. +7. **Ivermectin**: Preventable deaths from parasitic diseases like river blindness and scabies, mostly in low-income countries. +8. **Epinephrine and Albuterol**: Primarily emergency treatments for preventable deaths in allergic and respiratory emergencies. + +This table highlights the profound public health impact that could result from removing barriers to access for these drugs. + +### **Additional Sources:** +1. **Naloxone Estimates**: + - Lancet study on naloxone need across fentanyl, heroin, and prescription opioids (https://www.thelancet.com/article/S2468-2667(21)00304-2/fulltext) + - CDC report on opioid overdose prevention programs providing naloxone (https://www.cdc.gov/mmwr/preview/mmwrhtml/mm6423a2.htm) + +2. **PrEP (Truvada) Estimates**: + - CDC clinical guidance on PrEP for HIV prevention (https://www.cdc.gov/hivnexus/hcp/prep/index.html) + - PEPFAR's global impact on HIV prevention through PrEP (https://www.hiv.gov/federal-response/pepfar-global-aids/pepfar) + +3. **Hydroxyurea Estimates**: + - CDC data on sickle cell disease mortality and hydroxyurea usage (https://www.cdc.gov/sickle-cell/data/index.html) + - JAMA Network study on life expectancy improvements with hydroxyurea treatment (https://jamanetwork.com/journals/jamanetworkopen/fullarticle/2755485) + +4. **Ivermectin Estimates**: + - WHO fact sheet on river blindness and ivermectin treatment (https://www.who.int/news-room/fact-sheets/detail/onchocerciasis) + - Nature study on ivermectin's impact on parasitic diseases (https://www.nature.com/articles/ja201711) + +5. **Misoprostol Estimates**: + - PubMed study on misoprostol's impact on postpartum hemorrhage mortality (https://pubmed.ncbi.nlm.nih.gov/19783291/) + - BMC Pregnancy & Childbirth study on maternal mortality reduction (https://bmcpregnancychildbirth.biomedcentral.com/articles/10.1186/1471-2393-14-78) diff --git a/package-lock.json b/package-lock.json index ea2e1734..0eaf7ba5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,11 +8,463 @@ "name": "dfda-wiki-backup", "version": "1.0.0", "dependencies": { + "@ai-sdk/anthropic": "^1.0.0", + "@ai-sdk/google": "^1.0.0", + "@ai-sdk/openai": "^1.0.0", + "@ai-sdk/provider": "^1.0.0", + "@ai-sdk/xai": "^1.0.0", "@aws-sdk/client-s3": "^3.0.0", - "dotenv": "^16.0.3", + "@types/events": "^3.0.3", + "ai": "^3.0.0", + "dotenv": "^16.4.7", + "exa-js": "^1.0.0", + "gray-matter": "^4.0.3", "mime-types": "^2.1.35", "openai": "^4.0.0", - "simple-git": "^3.0.0" + "pg": "^8.13.1", + "simple-git": "^3.0.0", + "ssh2": "^1.16.0", + "zod": "^3.24.1" + }, + "devDependencies": { + "jest": "^29.7.0" + } + }, + "node_modules/@ai-sdk/anthropic": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/@ai-sdk/anthropic/-/anthropic-1.1.6.tgz", + "integrity": "sha512-4TZBg2VoU/F58DmnyfPPGU9wMUTwLP15XyAFSrUqk9sSdjszwcojXw3LE7YbxifZ+RK7wT7lTkuyK1k2UdfFng==", + "dependencies": { + "@ai-sdk/provider": "1.0.7", + "@ai-sdk/provider-utils": "2.1.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + } + }, + "node_modules/@ai-sdk/google": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@ai-sdk/google/-/google-1.1.8.tgz", + "integrity": "sha512-8ZOS4p8Qp/7fXWnwNizlFN5aTBu4u3pNlsc7LDFGUtuJXz6j/pAQhqBh3nEaagX3GNuDFT8rxZ1yu82+fYaRpA==", + "dependencies": { + "@ai-sdk/provider": "1.0.7", + "@ai-sdk/provider-utils": "2.1.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + } + }, + "node_modules/@ai-sdk/openai": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai/-/openai-1.1.9.tgz", + "integrity": "sha512-t/CpC4TLipdbgBJTMX/otzzqzCMBSPQwUOkYPGbT/jyuC86F+YO9o+LS0Ty2pGUE1kyT+B3WmJ318B16ZCg4hw==", + "dependencies": { + "@ai-sdk/provider": "1.0.7", + "@ai-sdk/provider-utils": "2.1.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + } + }, + "node_modules/@ai-sdk/openai-compatible": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@ai-sdk/openai-compatible/-/openai-compatible-0.1.8.tgz", + "integrity": "sha512-o2WeZmkOgaaEHAIZfAdlAASotNemhWBzupUp7ql/vBKIrPDctbQS4K7XOvG7EZ1dshn0TxB+Ur7Q8HoWSeWPmA==", + "dependencies": { + "@ai-sdk/provider": "1.0.7", + "@ai-sdk/provider-utils": "2.1.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + } + }, + "node_modules/@ai-sdk/provider": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.0.7.tgz", + "integrity": "sha512-q1PJEZ0qD9rVR+8JFEd01/QM++csMT5UVwYXSN2u54BrVw/D8TZLTeg2FEfKK00DgAx0UtWd8XOhhwITP9BT5g==", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ai-sdk/provider-utils": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.1.6.tgz", + "integrity": "sha512-Pfyaj0QZS22qyVn5Iz7IXcJ8nKIKlu2MeSAdKJzTwkAks7zdLaKVB+396Rqcp1bfQnxl7vaduQVMQiXUrgK8Gw==", + "dependencies": { + "@ai-sdk/provider": "1.0.7", + "eventsource-parser": "^3.0.0", + "nanoid": "^3.3.8", + "secure-json-parse": "^2.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/react": { + "version": "0.0.70", + "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-0.0.70.tgz", + "integrity": "sha512-GnwbtjW4/4z7MleLiW+TOZC2M29eCg1tOUpuEiYFMmFNZK8mkrqM0PFZMo6UsYeUYMWqEOOcPOU9OQVJMJh7IQ==", + "dependencies": { + "@ai-sdk/provider-utils": "1.0.22", + "@ai-sdk/ui-utils": "0.0.50", + "swr": "^2.2.5", + "throttleit": "2.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "react": "^18 || ^19 || ^19.0.0-rc", + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "react": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/react/node_modules/@ai-sdk/provider": { + "version": "0.0.26", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.26.tgz", + "integrity": "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ai-sdk/react/node_modules/@ai-sdk/provider-utils": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.22.tgz", + "integrity": "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==", + "dependencies": { + "@ai-sdk/provider": "0.0.26", + "eventsource-parser": "^1.1.2", + "nanoid": "^3.3.7", + "secure-json-parse": "^2.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/react/node_modules/eventsource-parser": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz", + "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@ai-sdk/solid": { + "version": "0.0.54", + "resolved": "https://registry.npmjs.org/@ai-sdk/solid/-/solid-0.0.54.tgz", + "integrity": "sha512-96KWTVK+opdFeRubqrgaJXoNiDP89gNxFRWUp0PJOotZW816AbhUf4EnDjBjXTLjXL1n0h8tGSE9sZsRkj9wQQ==", + "dependencies": { + "@ai-sdk/provider-utils": "1.0.22", + "@ai-sdk/ui-utils": "0.0.50" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "solid-js": "^1.7.7" + }, + "peerDependenciesMeta": { + "solid-js": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/solid/node_modules/@ai-sdk/provider": { + "version": "0.0.26", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.26.tgz", + "integrity": "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ai-sdk/solid/node_modules/@ai-sdk/provider-utils": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.22.tgz", + "integrity": "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==", + "dependencies": { + "@ai-sdk/provider": "0.0.26", + "eventsource-parser": "^1.1.2", + "nanoid": "^3.3.7", + "secure-json-parse": "^2.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/solid/node_modules/eventsource-parser": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz", + "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@ai-sdk/svelte": { + "version": "0.0.57", + "resolved": "https://registry.npmjs.org/@ai-sdk/svelte/-/svelte-0.0.57.tgz", + "integrity": "sha512-SyF9ItIR9ALP9yDNAD+2/5Vl1IT6kchgyDH8xkmhysfJI6WrvJbtO1wdQ0nylvPLcsPoYu+cAlz1krU4lFHcYw==", + "dependencies": { + "@ai-sdk/provider-utils": "1.0.22", + "@ai-sdk/ui-utils": "0.0.50", + "sswr": "^2.1.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "svelte": "^3.0.0 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "svelte": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/svelte/node_modules/@ai-sdk/provider": { + "version": "0.0.26", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.26.tgz", + "integrity": "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ai-sdk/svelte/node_modules/@ai-sdk/provider-utils": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.22.tgz", + "integrity": "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==", + "dependencies": { + "@ai-sdk/provider": "0.0.26", + "eventsource-parser": "^1.1.2", + "nanoid": "^3.3.7", + "secure-json-parse": "^2.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/svelte/node_modules/eventsource-parser": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz", + "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@ai-sdk/ui-utils": { + "version": "0.0.50", + "resolved": "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-0.0.50.tgz", + "integrity": "sha512-Z5QYJVW+5XpSaJ4jYCCAVG7zIAuKOOdikhgpksneNmKvx61ACFaf98pmOd+xnjahl0pIlc/QIe6O4yVaJ1sEaw==", + "dependencies": { + "@ai-sdk/provider": "0.0.26", + "@ai-sdk/provider-utils": "1.0.22", + "json-schema": "^0.4.0", + "secure-json-parse": "^2.7.0", + "zod-to-json-schema": "^3.23.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/ui-utils/node_modules/@ai-sdk/provider": { + "version": "0.0.26", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.26.tgz", + "integrity": "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ai-sdk/ui-utils/node_modules/@ai-sdk/provider-utils": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.22.tgz", + "integrity": "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==", + "dependencies": { + "@ai-sdk/provider": "0.0.26", + "eventsource-parser": "^1.1.2", + "nanoid": "^3.3.7", + "secure-json-parse": "^2.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/ui-utils/node_modules/eventsource-parser": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz", + "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@ai-sdk/vue": { + "version": "0.0.59", + "resolved": "https://registry.npmjs.org/@ai-sdk/vue/-/vue-0.0.59.tgz", + "integrity": "sha512-+ofYlnqdc8c4F6tM0IKF0+7NagZRAiqBJpGDJ+6EYhDW8FHLUP/JFBgu32SjxSxC6IKFZxEnl68ZoP/Z38EMlw==", + "dependencies": { + "@ai-sdk/provider-utils": "1.0.22", + "@ai-sdk/ui-utils": "0.0.50", + "swrv": "^1.0.4" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "vue": "^3.3.4" + }, + "peerDependenciesMeta": { + "vue": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/vue/node_modules/@ai-sdk/provider": { + "version": "0.0.26", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.26.tgz", + "integrity": "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ai-sdk/vue/node_modules/@ai-sdk/provider-utils": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.22.tgz", + "integrity": "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==", + "dependencies": { + "@ai-sdk/provider": "0.0.26", + "eventsource-parser": "^1.1.2", + "nanoid": "^3.3.7", + "secure-json-parse": "^2.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/@ai-sdk/vue/node_modules/eventsource-parser": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz", + "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/@ai-sdk/xai": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/@ai-sdk/xai/-/xai-1.1.8.tgz", + "integrity": "sha512-2ezkPMBSfqZySYbXZDa1dCq3c1RV5ZXcwkWIB18qpmwGaRCxdjzBIyZHPOH2FeOLQplZnGC0VfxZcOAbvWhV0Q==", + "dependencies": { + "@ai-sdk/openai-compatible": "0.1.8", + "@ai-sdk/provider": "1.0.7", + "@ai-sdk/provider-utils": "2.1.6" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" } }, "node_modules/@aws-crypto/crc32": { @@ -818,956 +1270,5773 @@ "node": ">=18.0.0" } }, - "node_modules/@kwsites/file-exists": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", - "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "node_modules/@babel/code-frame": { + "version": "7.26.2", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", + "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "dev": true, + "license": "MIT", "dependencies": { - "debug": "^4.1.1" + "@babel/helper-validator-identifier": "^7.25.9", + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "node_modules/@kwsites/promise-deferred": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", - "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + "node_modules/@babel/compat-data": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", + "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "node_modules/@smithy/abort-controller": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.1.tgz", - "integrity": "sha512-fiUIYgIgRjMWznk6iLJz35K2YxSLHzLBA/RC6lBrKfQ8fHbPfvk7Pk9UvpKoHgJjI18MnbPuEju53zcVy6KF1g==", + "node_modules/@babel/core": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.8.tgz", + "integrity": "sha512-l+lkXCHS6tQEc5oUpK28xBOZ6+HwaH7YwoYQbLFiYb4nS2/l1tKnZEtEWkD0GuiYdvArf9qBS0XlQGXzPMsNqQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.8", + "@babel/helper-compilation-targets": "^7.26.5", + "@babel/helper-module-transforms": "^7.26.0", + "@babel/helpers": "^7.26.7", + "@babel/parser": "^7.26.8", + "@babel/template": "^7.26.8", + "@babel/traverse": "^7.26.8", + "@babel/types": "^7.26.8", + "@types/gensync": "^1.0.0", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "node_modules/@smithy/chunked-blob-reader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.0.0.tgz", - "integrity": "sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==", + "node_modules/@babel/generator": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.8.tgz", + "integrity": "sha512-ef383X5++iZHWAXX0SXQR6ZyQhw/0KtTkrTz61WXRhFM6dhpHulO/RJz79L8S6ugZHJkOOkUrUdxgdF2YiPFnA==", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "@babel/parser": "^7.26.8", + "@babel/types": "^7.26.8", + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.25", + "jsesc": "^3.0.2" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@smithy/chunked-blob-reader-native": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.0.0.tgz", - "integrity": "sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", + "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/util-base64": "^4.0.0", - "tslib": "^2.6.2" + "@babel/compat-data": "^7.26.5", + "@babel/helper-validator-option": "^7.25.9", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@smithy/config-resolver": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.0.1.tgz", - "integrity": "sha512-Igfg8lKu3dRVkTSEm98QpZUvKEOa71jDX4vKRcvJVyRc3UgN3j7vFMf0s7xLQhYmKa8kyJGQgUJDOV5V3neVlQ==", + "node_modules/@babel/helper-module-imports": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", + "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^4.0.1", - "@smithy/types": "^4.1.0", - "@smithy/util-config-provider": "^4.0.0", - "@smithy/util-middleware": "^4.0.1", - "tslib": "^2.6.2" + "@babel/traverse": "^7.25.9", + "@babel/types": "^7.25.9" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@smithy/core": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.1.2.tgz", - "integrity": "sha512-htwQXkbdF13uwwDevz9BEzL5ABK+1sJpVQXywwGSH973AVOvisHNfpcB8A8761G6XgHoS2kHPqc9DqHJ2gp+/Q==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", + "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/middleware-serde": "^4.0.2", - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", - "@smithy/util-body-length-browser": "^4.0.0", - "@smithy/util-middleware": "^4.0.1", - "@smithy/util-stream": "^4.0.2", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" + "@babel/helper-module-imports": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9", + "@babel/traverse": "^7.25.9" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "node_modules/@smithy/credential-provider-imds": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.1.tgz", - "integrity": "sha512-l/qdInaDq1Zpznpmev/+52QomsJNZ3JkTl5yrTl02V6NBgJOQ4LY0SFw/8zsMwj3tLe8vqiIuwF6nxaEwgf6mg==", + "node_modules/@babel/helper-plugin-utils": { + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", + "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", + "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", + "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", + "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.26.7", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz", + "integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^4.0.1", - "@smithy/property-provider": "^4.0.1", - "@smithy/types": "^4.1.0", - "@smithy/url-parser": "^4.0.1", - "tslib": "^2.6.2" + "@babel/template": "^7.25.9", + "@babel/types": "^7.26.7" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@smithy/eventstream-codec": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-4.0.1.tgz", - "integrity": "sha512-Q2bCAAR6zXNVtJgifsU16ZjKGqdw/DyecKNgIgi7dlqw04fqDu0mnq+JmGphqheypVc64CYq3azSuCpAdFk2+A==", + "node_modules/@babel/parser": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.8.tgz", + "integrity": "sha512-TZIQ25pkSoaKEYYaHbbxkfL36GNsQ6iFiBbeuzAkLnXayKR1yP1zFe+NxuZWWsUyvt8icPU9CCq0sgWGXR1GEw==", + "license": "MIT", "dependencies": { - "@aws-crypto/crc32": "5.2.0", - "@smithy/types": "^4.1.0", - "@smithy/util-hex-encoding": "^4.0.0", - "tslib": "^2.6.2" + "@babel/types": "^7.26.8" + }, + "bin": { + "parser": "bin/babel-parser.js" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.0.0" } }, - "node_modules/@smithy/eventstream-serde-browser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.0.1.tgz", - "integrity": "sha512-HbIybmz5rhNg+zxKiyVAnvdM3vkzjE6ccrJ620iPL8IXcJEntd3hnBl+ktMwIy12Te/kyrSbUb8UCdnUT4QEdA==", + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/eventstream-serde-universal": "^4.0.1", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/eventstream-serde-config-resolver": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.0.1.tgz", - "integrity": "sha512-lSipaiq3rmHguHa3QFF4YcCM3VJOrY9oq2sow3qlhFY+nBSTF/nrO82MUQRPrxHQXA58J5G1UnU2WuJfi465BA==", + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/eventstream-serde-node": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.0.1.tgz", - "integrity": "sha512-o4CoOI6oYGYJ4zXo34U8X9szDe3oGjmHgsMGiZM0j4vtNoT+h80TLnkUcrLZR3+E6HIxqW+G+9WHAVfl0GXK0Q==", + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/eventstream-serde-universal": "^4.0.1", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.12.13" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/eventstream-serde-universal": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.0.1.tgz", - "integrity": "sha512-Z94uZp0tGJuxds3iEAZBqGU2QiaBHP4YytLUjwZWx+oUeohCsLyUm33yp4MMBmhkuPqSbQCXq5hDet6JGUgHWA==", + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/eventstream-codec": "^4.0.1", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/fetch-http-handler": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.1.tgz", - "integrity": "sha512-3aS+fP28urrMW2KTjb6z9iFow6jO8n3MFfineGbndvzGZit3taZhKWtTorf+Gp5RpFDDafeHlhfsGlDCXvUnJA==", + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.26.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.26.0.tgz", + "integrity": "sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/protocol-http": "^5.0.1", - "@smithy/querystring-builder": "^4.0.1", - "@smithy/types": "^4.1.0", - "@smithy/util-base64": "^4.0.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/hash-blob-browser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-4.0.1.tgz", - "integrity": "sha512-rkFIrQOKZGS6i1D3gKJ8skJ0RlXqDvb1IyAphksaFOMzkn3v3I1eJ8m7OkLj0jf1McP63rcCEoLlkAn/HjcTRw==", + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/chunked-blob-reader": "^5.0.0", - "@smithy/chunked-blob-reader-native": "^4.0.0", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/hash-node": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.1.tgz", - "integrity": "sha512-TJ6oZS+3r2Xu4emVse1YPB3Dq3d8RkZDKcPr71Nj/lJsdAP1c7oFzYqEn1IBc915TsgLl2xIJNuxCz+gLbLE0w==", + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "@smithy/util-buffer-from": "^4.0.0", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/hash-stream-node": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-4.0.1.tgz", - "integrity": "sha512-U1rAE1fxmReCIr6D2o/4ROqAQX+GffZpyMt3d7njtGDr2pUNmAKRWa49gsNVhCh2vVAuf3wXzWwNr2YN8PAXIw==", + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", + "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/invalid-dependency": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.1.tgz", - "integrity": "sha512-gdudFPf4QRQ5pzj7HEnu6FhKRi61BfH/Gk5Yf6O0KiSbr1LlVhgjThcvjdu658VE6Nve8vaIWB8/fodmS1rBPQ==", + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/is-array-buffer": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz", - "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==", + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/md5-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-4.0.1.tgz", - "integrity": "sha512-HLZ647L27APi6zXkZlzSFZIjpo8po45YiyjMGJZM3gyDY8n7dPGdmxIIljLm4gPt/7rRvutLTTkYJpZVfG5r+A==", + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.10.4" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/middleware-content-length": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.1.tgz", - "integrity": "sha512-OGXo7w5EkB5pPiac7KNzVtfCW2vKBTZNuCctn++TTSOMpe6RZO/n6WEC1AxJINn3+vWLKW49uad3lo/u0WJ9oQ==", + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/middleware-endpoint": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.0.3.tgz", - "integrity": "sha512-YdbmWhQF5kIxZjWqPIgboVfi8i5XgiYMM7GGKFMTvBei4XjNQfNv8sukT50ITvgnWKKKpOtp0C0h7qixLgb77Q==", + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/core": "^3.1.2", - "@smithy/middleware-serde": "^4.0.2", - "@smithy/node-config-provider": "^4.0.1", - "@smithy/shared-ini-file-loader": "^4.0.1", - "@smithy/types": "^4.1.0", - "@smithy/url-parser": "^4.0.1", - "@smithy/util-middleware": "^4.0.1", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/middleware-retry": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.0.4.tgz", - "integrity": "sha512-wmxyUBGHaYUqul0wZiset4M39SMtDBOtUr2KpDuftKNN74Do9Y36Go6Eqzj9tL0mIPpr31ulB5UUtxcsCeGXsQ==", + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^4.0.1", - "@smithy/protocol-http": "^5.0.1", - "@smithy/service-error-classification": "^4.0.1", - "@smithy/smithy-client": "^4.1.3", - "@smithy/types": "^4.1.0", - "@smithy/util-middleware": "^4.0.1", - "@smithy/util-retry": "^4.0.1", - "tslib": "^2.6.2", - "uuid": "^9.0.1" + "@babel/helper-plugin-utils": "^7.8.0" }, - "engines": { - "node": ">=18.0.0" + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/middleware-serde": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.2.tgz", - "integrity": "sha512-Sdr5lOagCn5tt+zKsaW+U2/iwr6bI9p08wOkCp6/eL6iMbgdtc2R5Ety66rf87PeohR0ExI84Txz9GYv5ou3iQ==", + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/middleware-stack": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.1.tgz", - "integrity": "sha512-dHwDmrtR/ln8UTHpaIavRSzeIk5+YZTBtLnKwDW3G2t6nAupCiQUvNzNoHBpik63fwUaJPtlnMzXbQrNFWssIA==", + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.14.5" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/node-config-provider": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.0.1.tgz", - "integrity": "sha512-8mRTjvCtVET8+rxvmzRNRR0hH2JjV0DFOmwXPrISmTIJEfnCBugpYYGAsCj8t41qd+RB5gbheSQ/6aKZCQvFLQ==", + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.25.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.9.tgz", + "integrity": "sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/property-provider": "^4.0.1", - "@smithy/shared-ini-file-loader": "^4.0.1", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-plugin-utils": "^7.25.9" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "node_modules/@smithy/node-http-handler": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.2.tgz", - "integrity": "sha512-X66H9aah9hisLLSnGuzRYba6vckuFtGE+a5DcHLliI/YlqKrGoxhisD5XbX44KyoeRzoNlGr94eTsMVHFAzPOw==", + "node_modules/@babel/template": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.8.tgz", + "integrity": "sha512-iNKaX3ZebKIsCvJ+0jd6embf+Aulaa3vNBqZ41kM7iTWjx5qzWKXGHiJUW3+nTpQ18SG11hdF8OAzKrpXkb96Q==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/abort-controller": "^4.0.1", - "@smithy/protocol-http": "^5.0.1", - "@smithy/querystring-builder": "^4.0.1", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/code-frame": "^7.26.2", + "@babel/parser": "^7.26.8", + "@babel/types": "^7.26.8" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@smithy/property-provider": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.1.tgz", - "integrity": "sha512-o+VRiwC2cgmk/WFV0jaETGOtX16VNPp2bSQEzu0whbReqE1BMqsP2ami2Vi3cbGVdKu1kq9gQkDAGKbt0WOHAQ==", + "node_modules/@babel/traverse": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.8.tgz", + "integrity": "sha512-nic9tRkjYH0oB2dzr/JoGIm+4Q6SuYeLEiIiZDwBscRMYFJ+tMAz98fuel9ZnbXViA2I0HVSSRRK8DW5fjXStA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/code-frame": "^7.26.2", + "@babel/generator": "^7.26.8", + "@babel/parser": "^7.26.8", + "@babel/template": "^7.26.8", + "@babel/types": "^7.26.8", + "debug": "^4.3.1", + "globals": "^11.1.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@smithy/protocol-http": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.0.1.tgz", - "integrity": "sha512-TE4cpj49jJNB/oHyh/cRVEgNZaoPaxd4vteJNB0yGidOCVR0jCw/hjPVsT8Q8FRmj8Bd3bFZt8Dh7xGCT+xMBQ==", + "node_modules/@babel/types": { + "version": "7.26.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.8.tgz", + "integrity": "sha512-eUuWapzEGWFEpHFxgEaBG8e3n6S8L3MSu0oda755rOfabWPnh0Our1AozNFVUxGFIhbKgd1ksprsoDGMinTOTA==", + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@babel/helper-string-parser": "^7.25.9", + "@babel/helper-validator-identifier": "^7.25.9" }, "engines": { - "node": ">=18.0.0" + "node": ">=6.9.0" } }, - "node_modules/@smithy/querystring-builder": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.1.tgz", - "integrity": "sha512-wU87iWZoCbcqrwszsOewEIuq+SU2mSoBE2CcsLwE0I19m0B2gOJr1MVjxWcDQYOzHbR1xCk7AcOBbGFUYOKvdg==", + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "license": "ISC", "dependencies": { - "@smithy/types": "^4.1.0", - "@smithy/util-uri-escape": "^4.0.0", - "tslib": "^2.6.2" + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=8" } }, - "node_modules/@smithy/querystring-parser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.1.tgz", - "integrity": "sha512-Ma2XC7VS9aV77+clSFylVUnPZRindhB7BbmYiNOdr+CHt/kZNJoPP0cd3QxCnCFyPXC4eybmyE98phEHkqZ5Jw==", - "dependencies": { - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" - }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=18.0.0" + "node": ">=8" } }, - "node_modules/@smithy/service-error-classification": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.1.tgz", - "integrity": "sha512-3JNjBfOWpj/mYfjXJHB4Txc/7E4LVq32bwzE7m28GN79+M1f76XHflUaSUkhOriprPDzev9cX/M+dEB80DNDKA==", + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0" + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/shared-ini-file-loader": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.1.tgz", - "integrity": "sha512-hC8F6qTBbuHRI/uqDgqqi6J0R4GtEZcgrZPhFQnMhfJs3MnUTGSnR1NSJCJs5VWlMydu0kJz15M640fJlRsIOw==", + "node_modules/@jest/console/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@smithy/signature-v4": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.0.1.tgz", - "integrity": "sha512-nCe6fQ+ppm1bQuw5iKoeJ0MJfz2os7Ic3GBjOkLOPtavbD1ONoyE3ygjBfz2ythFWm4YnRm6OxW+8p/m9uCoIA==", + "node_modules/@jest/console/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/is-array-buffer": "^4.0.0", - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", - "@smithy/util-hex-encoding": "^4.0.0", - "@smithy/util-middleware": "^4.0.1", - "@smithy/util-uri-escape": "^4.0.0", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@smithy/smithy-client": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.1.3.tgz", - "integrity": "sha512-A2Hz85pu8BJJaYFdX8yb1yocqigyqBzn+OVaVgm+Kwi/DkN8vhN2kbDVEfADo6jXf5hPKquMLGA3UINA64UZ7A==", + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/core": "^3.1.2", - "@smithy/middleware-endpoint": "^4.0.3", - "@smithy/middleware-stack": "^4.0.1", - "@smithy/protocol-http": "^5.0.1", - "@smithy/types": "^4.1.0", - "@smithy/util-stream": "^4.0.2", - "tslib": "^2.6.2" + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@smithy/types": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.1.0.tgz", - "integrity": "sha512-enhjdwp4D7CXmwLtD6zbcDMbo6/T6WtuuKCY49Xxc6OMOmUWlBEBDREsxxgV2LIdeQPW756+f97GzcgAwp3iLw==", + "node_modules/@jest/core/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@smithy/url-parser": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.1.tgz", - "integrity": "sha512-gPXcIEUtw7VlK8f/QcruNXm7q+T5hhvGu9tl63LsJPZ27exB6dtNwvh2HIi0v7JcXJ5emBxB+CJxwaLEdJfA+g==", + "node_modules/@jest/core/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/querystring-parser": "^4.0.1", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@smithy/util-base64": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz", - "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==", + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/util-buffer-from": "^4.0.0", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/util-body-length-browser": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz", - "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==", + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/util-body-length-node": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz", - "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==", + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "jest-get-type": "^29.6.3" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/util-buffer-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz", - "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==", + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/is-array-buffer": "^4.0.0", - "tslib": "^2.6.2" + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/util-config-provider": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz", - "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==", + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/util-defaults-mode-browser": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.4.tgz", - "integrity": "sha512-Ej1bV5sbrIfH++KnWxjjzFNq9nyP3RIUq2c9Iqq7SmMO/idUR24sqvKH2LUQFTSPy/K7G4sB2m8n7YYlEAfZaw==", + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/property-provider": "^4.0.1", - "@smithy/smithy-client": "^4.1.3", - "@smithy/types": "^4.1.0", - "bowser": "^2.11.0", - "tslib": "^2.6.2" + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/@smithy/util-defaults-mode-node": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.4.tgz", - "integrity": "sha512-HE1I7gxa6yP7ZgXPCFfZSDmVmMtY7SHqzFF55gM/GPegzZKaQWZZ+nYn9C2Cc3JltCMyWe63VPR3tSFDEvuGjw==", + "node_modules/@jest/reporters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/config-resolver": "^4.0.1", - "@smithy/credential-provider-imds": "^4.0.1", - "@smithy/node-config-provider": "^4.0.1", - "@smithy/property-provider": "^4.0.1", - "@smithy/smithy-client": "^4.1.3", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@smithy/util-endpoints": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.1.tgz", - "integrity": "sha512-zVdUENQpdtn9jbpD9SCFK4+aSiavRb9BxEtw9ZGUR1TYo6bBHbIoi7VkrFQ0/RwZlzx0wRBaRmPclj8iAoJCLA==", + "node_modules/@jest/reporters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/node-config-provider": "^4.0.1", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@smithy/util-hex-encoding": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz", - "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==", + "node_modules/@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "@sinclair/typebox": "^0.27.8" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/util-middleware": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.1.tgz", - "integrity": "sha512-HiLAvlcqhbzhuiOa0Lyct5IIlyIz0PQO5dnMlmQ/ubYM46dPInB+3yQGkfxsk6Q24Y0n3/JmcA1v5iEhmOF5mA==", + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/util-retry": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.1.tgz", - "integrity": "sha512-WmRHqNVwn3kI3rKk1LsKcVgPBG6iLTBGC1iYOV3GQegwJ3E8yjzHytPt26VNzOWr1qu0xE03nK0Ug8S7T7oufw==", + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/service-error-classification": "^4.0.1", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/util-stream": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.0.2.tgz", - "integrity": "sha512-0eZ4G5fRzIoewtHtwaYyl8g2C+osYOT4KClXgfdNEDAgkbe2TYPqcnw4GAWabqkZCax2ihRGPe9LZnsPdIUIHA==", + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/fetch-http-handler": "^5.0.1", - "@smithy/node-http-handler": "^4.0.2", - "@smithy/types": "^4.1.0", - "@smithy/util-base64": "^4.0.0", - "@smithy/util-buffer-from": "^4.0.0", - "@smithy/util-hex-encoding": "^4.0.0", - "@smithy/util-utf8": "^4.0.0", - "tslib": "^2.6.2" + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/util-uri-escape": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz", - "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==", + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "license": "MIT", "dependencies": { - "tslib": "^2.6.2" + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" }, "engines": { - "node": ">=18.0.0" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@smithy/util-utf8": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz", - "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==", + "node_modules/@jest/transform/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/util-buffer-from": "^4.0.0", - "tslib": "^2.6.2" + "color-convert": "^2.0.1" }, "engines": { - "node": ">=18.0.0" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@smithy/util-waiter": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.0.2.tgz", - "integrity": "sha512-piUTHyp2Axx3p/kc2CIJkYSv0BAaheBQmbACZgQSSfWUumWNW+R1lL+H9PDBxKJkvOeEX+hKYEFiwO8xagL8AQ==", + "node_modules/@jest/transform/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", "dependencies": { - "@smithy/abort-controller": "^4.0.1", - "@smithy/types": "^4.1.0", - "tslib": "^2.6.2" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@types/node": { - "version": "18.19.74", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.74.tgz", - "integrity": "sha512-HMwEkkifei3L605gFdV+/UwtpxP6JSzM+xFk2Ia6DNFSwSVBRh9qp5Tgf4lNFOMfPVuU0WnkcWpXZpgn5ufO4A==", + "node_modules/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~5.26.4" + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@types/node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", + "node_modules/@jest/types/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "node_modules/@jest/types/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", "dependencies": { - "event-target-shim": "^5.0.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">=6.5" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/agentkeepalive": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", - "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.8", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", + "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "dependencies": { - "humanize-ms": "^1.2.1" + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { - "node": ">= 8.0.0" + "node": ">=6.0.0" } }, - "node_modules/asynckit": { + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "dependencies": { + "debug": "^4.1.1" + } + }, + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==" + }, + "node_modules/@opentelemetry/api": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@opentelemetry/api/-/api-1.9.0.tgz", + "integrity": "sha512-3giAOQvZiH5F9bMlMiv8+GSPMeqg0dbaeo58/0SlA9sxSqZhnUtxzX9/2FzyhS9sWQf5S0GJE0AKBrFqjpeYcg==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@smithy/abort-controller": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/abort-controller/-/abort-controller-4.0.1.tgz", + "integrity": "sha512-fiUIYgIgRjMWznk6iLJz35K2YxSLHzLBA/RC6lBrKfQ8fHbPfvk7Pk9UvpKoHgJjI18MnbPuEju53zcVy6KF1g==", + "dependencies": { + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/chunked-blob-reader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader/-/chunked-blob-reader-5.0.0.tgz", + "integrity": "sha512-+sKqDBQqb036hh4NPaUiEkYFkTUGYzRsn3EuFhyfQfMy6oGHEUJDurLP9Ufb5dasr/XiAmPNMr6wa9afjQB+Gw==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/chunked-blob-reader-native": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/chunked-blob-reader-native/-/chunked-blob-reader-native-4.0.0.tgz", + "integrity": "sha512-R9wM2yPmfEMsUmlMlIgSzOyICs0x9uu7UTHoccMyt7BWw8shcGM8HqB355+BZCPBcySvbTYMs62EgEQkNxz2ig==", + "dependencies": { + "@smithy/util-base64": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/config-resolver": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/config-resolver/-/config-resolver-4.0.1.tgz", + "integrity": "sha512-Igfg8lKu3dRVkTSEm98QpZUvKEOa71jDX4vKRcvJVyRc3UgN3j7vFMf0s7xLQhYmKa8kyJGQgUJDOV5V3neVlQ==", + "dependencies": { + "@smithy/node-config-provider": "^4.0.1", + "@smithy/types": "^4.1.0", + "@smithy/util-config-provider": "^4.0.0", + "@smithy/util-middleware": "^4.0.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/core": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@smithy/core/-/core-3.1.2.tgz", + "integrity": "sha512-htwQXkbdF13uwwDevz9BEzL5ABK+1sJpVQXywwGSH973AVOvisHNfpcB8A8761G6XgHoS2kHPqc9DqHJ2gp+/Q==", + "dependencies": { + "@smithy/middleware-serde": "^4.0.2", + "@smithy/protocol-http": "^5.0.1", + "@smithy/types": "^4.1.0", + "@smithy/util-body-length-browser": "^4.0.0", + "@smithy/util-middleware": "^4.0.1", + "@smithy/util-stream": "^4.0.2", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/credential-provider-imds": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/credential-provider-imds/-/credential-provider-imds-4.0.1.tgz", + "integrity": "sha512-l/qdInaDq1Zpznpmev/+52QomsJNZ3JkTl5yrTl02V6NBgJOQ4LY0SFw/8zsMwj3tLe8vqiIuwF6nxaEwgf6mg==", + "dependencies": { + "@smithy/node-config-provider": "^4.0.1", + "@smithy/property-provider": "^4.0.1", + "@smithy/types": "^4.1.0", + "@smithy/url-parser": "^4.0.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/eventstream-codec": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-codec/-/eventstream-codec-4.0.1.tgz", + "integrity": "sha512-Q2bCAAR6zXNVtJgifsU16ZjKGqdw/DyecKNgIgi7dlqw04fqDu0mnq+JmGphqheypVc64CYq3azSuCpAdFk2+A==", + "dependencies": { + "@aws-crypto/crc32": "5.2.0", + "@smithy/types": "^4.1.0", + "@smithy/util-hex-encoding": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-browser": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-browser/-/eventstream-serde-browser-4.0.1.tgz", + "integrity": "sha512-HbIybmz5rhNg+zxKiyVAnvdM3vkzjE6ccrJ620iPL8IXcJEntd3hnBl+ktMwIy12Te/kyrSbUb8UCdnUT4QEdA==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^4.0.1", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-config-resolver": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-4.0.1.tgz", + "integrity": "sha512-lSipaiq3rmHguHa3QFF4YcCM3VJOrY9oq2sow3qlhFY+nBSTF/nrO82MUQRPrxHQXA58J5G1UnU2WuJfi465BA==", + "dependencies": { + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-node": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-node/-/eventstream-serde-node-4.0.1.tgz", + "integrity": "sha512-o4CoOI6oYGYJ4zXo34U8X9szDe3oGjmHgsMGiZM0j4vtNoT+h80TLnkUcrLZR3+E6HIxqW+G+9WHAVfl0GXK0Q==", + "dependencies": { + "@smithy/eventstream-serde-universal": "^4.0.1", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/eventstream-serde-universal": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/eventstream-serde-universal/-/eventstream-serde-universal-4.0.1.tgz", + "integrity": "sha512-Z94uZp0tGJuxds3iEAZBqGU2QiaBHP4YytLUjwZWx+oUeohCsLyUm33yp4MMBmhkuPqSbQCXq5hDet6JGUgHWA==", + "dependencies": { + "@smithy/eventstream-codec": "^4.0.1", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/fetch-http-handler": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@smithy/fetch-http-handler/-/fetch-http-handler-5.0.1.tgz", + "integrity": "sha512-3aS+fP28urrMW2KTjb6z9iFow6jO8n3MFfineGbndvzGZit3taZhKWtTorf+Gp5RpFDDafeHlhfsGlDCXvUnJA==", + "dependencies": { + "@smithy/protocol-http": "^5.0.1", + "@smithy/querystring-builder": "^4.0.1", + "@smithy/types": "^4.1.0", + "@smithy/util-base64": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/hash-blob-browser": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/hash-blob-browser/-/hash-blob-browser-4.0.1.tgz", + "integrity": "sha512-rkFIrQOKZGS6i1D3gKJ8skJ0RlXqDvb1IyAphksaFOMzkn3v3I1eJ8m7OkLj0jf1McP63rcCEoLlkAn/HjcTRw==", + "dependencies": { + "@smithy/chunked-blob-reader": "^5.0.0", + "@smithy/chunked-blob-reader-native": "^4.0.0", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/hash-node": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/hash-node/-/hash-node-4.0.1.tgz", + "integrity": "sha512-TJ6oZS+3r2Xu4emVse1YPB3Dq3d8RkZDKcPr71Nj/lJsdAP1c7oFzYqEn1IBc915TsgLl2xIJNuxCz+gLbLE0w==", + "dependencies": { + "@smithy/types": "^4.1.0", + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/hash-stream-node": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/hash-stream-node/-/hash-stream-node-4.0.1.tgz", + "integrity": "sha512-U1rAE1fxmReCIr6D2o/4ROqAQX+GffZpyMt3d7njtGDr2pUNmAKRWa49gsNVhCh2vVAuf3wXzWwNr2YN8PAXIw==", + "dependencies": { + "@smithy/types": "^4.1.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/invalid-dependency": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/invalid-dependency/-/invalid-dependency-4.0.1.tgz", + "integrity": "sha512-gdudFPf4QRQ5pzj7HEnu6FhKRi61BfH/Gk5Yf6O0KiSbr1LlVhgjThcvjdu658VE6Nve8vaIWB8/fodmS1rBPQ==", + "dependencies": { + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/is-array-buffer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/is-array-buffer/-/is-array-buffer-4.0.0.tgz", + "integrity": "sha512-saYhF8ZZNoJDTvJBEWgeBccCg+yvp1CX+ed12yORU3NilJScfc6gfch2oVb4QgxZrGUx3/ZJlb+c/dJbyupxlw==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/md5-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/md5-js/-/md5-js-4.0.1.tgz", + "integrity": "sha512-HLZ647L27APi6zXkZlzSFZIjpo8po45YiyjMGJZM3gyDY8n7dPGdmxIIljLm4gPt/7rRvutLTTkYJpZVfG5r+A==", + "dependencies": { + "@smithy/types": "^4.1.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-content-length": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-content-length/-/middleware-content-length-4.0.1.tgz", + "integrity": "sha512-OGXo7w5EkB5pPiac7KNzVtfCW2vKBTZNuCctn++TTSOMpe6RZO/n6WEC1AxJINn3+vWLKW49uad3lo/u0WJ9oQ==", + "dependencies": { + "@smithy/protocol-http": "^5.0.1", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-endpoint": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/@smithy/middleware-endpoint/-/middleware-endpoint-4.0.3.tgz", + "integrity": "sha512-YdbmWhQF5kIxZjWqPIgboVfi8i5XgiYMM7GGKFMTvBei4XjNQfNv8sukT50ITvgnWKKKpOtp0C0h7qixLgb77Q==", + "dependencies": { + "@smithy/core": "^3.1.2", + "@smithy/middleware-serde": "^4.0.2", + "@smithy/node-config-provider": "^4.0.1", + "@smithy/shared-ini-file-loader": "^4.0.1", + "@smithy/types": "^4.1.0", + "@smithy/url-parser": "^4.0.1", + "@smithy/util-middleware": "^4.0.1", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-retry": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/middleware-retry/-/middleware-retry-4.0.4.tgz", + "integrity": "sha512-wmxyUBGHaYUqul0wZiset4M39SMtDBOtUr2KpDuftKNN74Do9Y36Go6Eqzj9tL0mIPpr31ulB5UUtxcsCeGXsQ==", + "dependencies": { + "@smithy/node-config-provider": "^4.0.1", + "@smithy/protocol-http": "^5.0.1", + "@smithy/service-error-classification": "^4.0.1", + "@smithy/smithy-client": "^4.1.3", + "@smithy/types": "^4.1.0", + "@smithy/util-middleware": "^4.0.1", + "@smithy/util-retry": "^4.0.1", + "tslib": "^2.6.2", + "uuid": "^9.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-serde": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/middleware-serde/-/middleware-serde-4.0.2.tgz", + "integrity": "sha512-Sdr5lOagCn5tt+zKsaW+U2/iwr6bI9p08wOkCp6/eL6iMbgdtc2R5Ety66rf87PeohR0ExI84Txz9GYv5ou3iQ==", + "dependencies": { + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/middleware-stack": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/middleware-stack/-/middleware-stack-4.0.1.tgz", + "integrity": "sha512-dHwDmrtR/ln8UTHpaIavRSzeIk5+YZTBtLnKwDW3G2t6nAupCiQUvNzNoHBpik63fwUaJPtlnMzXbQrNFWssIA==", + "dependencies": { + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/node-config-provider": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/node-config-provider/-/node-config-provider-4.0.1.tgz", + "integrity": "sha512-8mRTjvCtVET8+rxvmzRNRR0hH2JjV0DFOmwXPrISmTIJEfnCBugpYYGAsCj8t41qd+RB5gbheSQ/6aKZCQvFLQ==", + "dependencies": { + "@smithy/property-provider": "^4.0.1", + "@smithy/shared-ini-file-loader": "^4.0.1", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/node-http-handler": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/node-http-handler/-/node-http-handler-4.0.2.tgz", + "integrity": "sha512-X66H9aah9hisLLSnGuzRYba6vckuFtGE+a5DcHLliI/YlqKrGoxhisD5XbX44KyoeRzoNlGr94eTsMVHFAzPOw==", + "dependencies": { + "@smithy/abort-controller": "^4.0.1", + "@smithy/protocol-http": "^5.0.1", + "@smithy/querystring-builder": "^4.0.1", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/property-provider": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/property-provider/-/property-provider-4.0.1.tgz", + "integrity": "sha512-o+VRiwC2cgmk/WFV0jaETGOtX16VNPp2bSQEzu0whbReqE1BMqsP2ami2Vi3cbGVdKu1kq9gQkDAGKbt0WOHAQ==", + "dependencies": { + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/protocol-http": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@smithy/protocol-http/-/protocol-http-5.0.1.tgz", + "integrity": "sha512-TE4cpj49jJNB/oHyh/cRVEgNZaoPaxd4vteJNB0yGidOCVR0jCw/hjPVsT8Q8FRmj8Bd3bFZt8Dh7xGCT+xMBQ==", + "dependencies": { + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/querystring-builder": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-builder/-/querystring-builder-4.0.1.tgz", + "integrity": "sha512-wU87iWZoCbcqrwszsOewEIuq+SU2mSoBE2CcsLwE0I19m0B2gOJr1MVjxWcDQYOzHbR1xCk7AcOBbGFUYOKvdg==", + "dependencies": { + "@smithy/types": "^4.1.0", + "@smithy/util-uri-escape": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/querystring-parser": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/querystring-parser/-/querystring-parser-4.0.1.tgz", + "integrity": "sha512-Ma2XC7VS9aV77+clSFylVUnPZRindhB7BbmYiNOdr+CHt/kZNJoPP0cd3QxCnCFyPXC4eybmyE98phEHkqZ5Jw==", + "dependencies": { + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/service-error-classification": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/service-error-classification/-/service-error-classification-4.0.1.tgz", + "integrity": "sha512-3JNjBfOWpj/mYfjXJHB4Txc/7E4LVq32bwzE7m28GN79+M1f76XHflUaSUkhOriprPDzev9cX/M+dEB80DNDKA==", + "dependencies": { + "@smithy/types": "^4.1.0" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/shared-ini-file-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/shared-ini-file-loader/-/shared-ini-file-loader-4.0.1.tgz", + "integrity": "sha512-hC8F6qTBbuHRI/uqDgqqi6J0R4GtEZcgrZPhFQnMhfJs3MnUTGSnR1NSJCJs5VWlMydu0kJz15M640fJlRsIOw==", + "dependencies": { + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/signature-v4": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@smithy/signature-v4/-/signature-v4-5.0.1.tgz", + "integrity": "sha512-nCe6fQ+ppm1bQuw5iKoeJ0MJfz2os7Ic3GBjOkLOPtavbD1ONoyE3ygjBfz2ythFWm4YnRm6OxW+8p/m9uCoIA==", + "dependencies": { + "@smithy/is-array-buffer": "^4.0.0", + "@smithy/protocol-http": "^5.0.1", + "@smithy/types": "^4.1.0", + "@smithy/util-hex-encoding": "^4.0.0", + "@smithy/util-middleware": "^4.0.1", + "@smithy/util-uri-escape": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/smithy-client": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/@smithy/smithy-client/-/smithy-client-4.1.3.tgz", + "integrity": "sha512-A2Hz85pu8BJJaYFdX8yb1yocqigyqBzn+OVaVgm+Kwi/DkN8vhN2kbDVEfADo6jXf5hPKquMLGA3UINA64UZ7A==", + "dependencies": { + "@smithy/core": "^3.1.2", + "@smithy/middleware-endpoint": "^4.0.3", + "@smithy/middleware-stack": "^4.0.1", + "@smithy/protocol-http": "^5.0.1", + "@smithy/types": "^4.1.0", + "@smithy/util-stream": "^4.0.2", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/types": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@smithy/types/-/types-4.1.0.tgz", + "integrity": "sha512-enhjdwp4D7CXmwLtD6zbcDMbo6/T6WtuuKCY49Xxc6OMOmUWlBEBDREsxxgV2LIdeQPW756+f97GzcgAwp3iLw==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/url-parser": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/url-parser/-/url-parser-4.0.1.tgz", + "integrity": "sha512-gPXcIEUtw7VlK8f/QcruNXm7q+T5hhvGu9tl63LsJPZ27exB6dtNwvh2HIi0v7JcXJ5emBxB+CJxwaLEdJfA+g==", + "dependencies": { + "@smithy/querystring-parser": "^4.0.1", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-base64": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-base64/-/util-base64-4.0.0.tgz", + "integrity": "sha512-CvHfCmO2mchox9kjrtzoHkWHxjHZzaFojLc8quxXY7WAAMAg43nuxwv95tATVgQFNDwd4M9S1qFzj40Ul41Kmg==", + "dependencies": { + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-body-length-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-browser/-/util-body-length-browser-4.0.0.tgz", + "integrity": "sha512-sNi3DL0/k64/LO3A256M+m3CDdG6V7WKWHdAiBBMUN8S3hK3aMPhwnPik2A/a2ONN+9doY9UxaLfgqsIRg69QA==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-body-length-node": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-body-length-node/-/util-body-length-node-4.0.0.tgz", + "integrity": "sha512-q0iDP3VsZzqJyje8xJWEJCNIu3lktUGVoSy1KB0UWym2CL1siV3artm+u1DFYTLejpsrdGyCSWBdGNjJzfDPjg==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-buffer-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-buffer-from/-/util-buffer-from-4.0.0.tgz", + "integrity": "sha512-9TOQ7781sZvddgO8nxueKi3+yGvkY35kotA0Y6BWRajAv8jjmigQ1sBwz0UX47pQMYXJPahSKEKYFgt+rXdcug==", + "dependencies": { + "@smithy/is-array-buffer": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-config-provider": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-config-provider/-/util-config-provider-4.0.0.tgz", + "integrity": "sha512-L1RBVzLyfE8OXH+1hsJ8p+acNUSirQnWQ6/EgpchV88G6zGBTDPdXiiExei6Z1wR2RxYvxY/XLw6AMNCCt8H3w==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-browser": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.0.4.tgz", + "integrity": "sha512-Ej1bV5sbrIfH++KnWxjjzFNq9nyP3RIUq2c9Iqq7SmMO/idUR24sqvKH2LUQFTSPy/K7G4sB2m8n7YYlEAfZaw==", + "dependencies": { + "@smithy/property-provider": "^4.0.1", + "@smithy/smithy-client": "^4.1.3", + "@smithy/types": "^4.1.0", + "bowser": "^2.11.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-defaults-mode-node": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.0.4.tgz", + "integrity": "sha512-HE1I7gxa6yP7ZgXPCFfZSDmVmMtY7SHqzFF55gM/GPegzZKaQWZZ+nYn9C2Cc3JltCMyWe63VPR3tSFDEvuGjw==", + "dependencies": { + "@smithy/config-resolver": "^4.0.1", + "@smithy/credential-provider-imds": "^4.0.1", + "@smithy/node-config-provider": "^4.0.1", + "@smithy/property-provider": "^4.0.1", + "@smithy/smithy-client": "^4.1.3", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-endpoints": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@smithy/util-endpoints/-/util-endpoints-3.0.1.tgz", + "integrity": "sha512-zVdUENQpdtn9jbpD9SCFK4+aSiavRb9BxEtw9ZGUR1TYo6bBHbIoi7VkrFQ0/RwZlzx0wRBaRmPclj8iAoJCLA==", + "dependencies": { + "@smithy/node-config-provider": "^4.0.1", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-hex-encoding": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-hex-encoding/-/util-hex-encoding-4.0.0.tgz", + "integrity": "sha512-Yk5mLhHtfIgW2W2WQZWSg5kuMZCVbvhFmC7rV4IO2QqnZdbEFPmQnCcGMAX2z/8Qj3B9hYYNjZOhWym+RwhePw==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-middleware": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/util-middleware/-/util-middleware-4.0.1.tgz", + "integrity": "sha512-HiLAvlcqhbzhuiOa0Lyct5IIlyIz0PQO5dnMlmQ/ubYM46dPInB+3yQGkfxsk6Q24Y0n3/JmcA1v5iEhmOF5mA==", + "dependencies": { + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-retry": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@smithy/util-retry/-/util-retry-4.0.1.tgz", + "integrity": "sha512-WmRHqNVwn3kI3rKk1LsKcVgPBG6iLTBGC1iYOV3GQegwJ3E8yjzHytPt26VNzOWr1qu0xE03nK0Ug8S7T7oufw==", + "dependencies": { + "@smithy/service-error-classification": "^4.0.1", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-stream": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-stream/-/util-stream-4.0.2.tgz", + "integrity": "sha512-0eZ4G5fRzIoewtHtwaYyl8g2C+osYOT4KClXgfdNEDAgkbe2TYPqcnw4GAWabqkZCax2ihRGPe9LZnsPdIUIHA==", + "dependencies": { + "@smithy/fetch-http-handler": "^5.0.1", + "@smithy/node-http-handler": "^4.0.2", + "@smithy/types": "^4.1.0", + "@smithy/util-base64": "^4.0.0", + "@smithy/util-buffer-from": "^4.0.0", + "@smithy/util-hex-encoding": "^4.0.0", + "@smithy/util-utf8": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-uri-escape": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-uri-escape/-/util-uri-escape-4.0.0.tgz", + "integrity": "sha512-77yfbCbQMtgtTylO9itEAdpPXSog3ZxMe09AEhm0dU0NLTalV70ghDZFR+Nfi1C60jnJoh/Re4090/DuZh2Omg==", + "dependencies": { + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-utf8": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@smithy/util-utf8/-/util-utf8-4.0.0.tgz", + "integrity": "sha512-b+zebfKCfRdgNJDknHCob3O7FpeYQN6ZG6YLExMcasDHsCXlsXCEuiPZeLnJLpwa5dvPetGlnGCiMHuLwGvFow==", + "dependencies": { + "@smithy/util-buffer-from": "^4.0.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@smithy/util-waiter": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@smithy/util-waiter/-/util-waiter-4.0.2.tgz", + "integrity": "sha512-piUTHyp2Axx3p/kc2CIJkYSv0BAaheBQmbACZgQSSfWUumWNW+R1lL+H9PDBxKJkvOeEX+hKYEFiwO8xagL8AQ==", + "dependencies": { + "@smithy/abort-controller": "^4.0.1", + "@smithy/types": "^4.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.6", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.6.tgz", + "integrity": "sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/diff-match-patch": { + "version": "1.0.36", + "resolved": "https://registry.npmjs.org/@types/diff-match-patch/-/diff-match-patch-1.0.36.tgz", + "integrity": "sha512-xFdR6tkm0MWvBfO8xXCSsinYxHcqkQUlcHeSpMC2ukzOb6lwQAfDmW+Qt0AvlGd8HpsS28qKsB+oPeJn9I39jg==" + }, + "node_modules/@types/estree": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz", + "integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==", + "peer": true + }, + "node_modules/@types/events": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.3.tgz", + "integrity": "sha512-trOc4AAUThEz9hapPtSd7wf5tiQKvTtu5b371UxXdTuqzIh0ArcRspRP0i0Viu+LXstIQ1z96t1nsPxT9ol01g==" + }, + "node_modules/@types/gensync": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/gensync/-/gensync-1.0.4.tgz", + "integrity": "sha512-C3YYeRQWp2fmq9OryX+FoDy8nXS6scQ7dPptD8LnFDAUNcKWJjXQKDNJD3HVm+kOUsXhTOkpi69vI4EuAr95bA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/node": { + "version": "18.19.74", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.74.tgz", + "integrity": "sha512-HMwEkkifei3L605gFdV+/UwtpxP6JSzM+xFk2Ia6DNFSwSVBRh9qp5Tgf4lNFOMfPVuU0WnkcWpXZpgn5ufO4A==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/yargs": { + "version": "17.0.33", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz", + "integrity": "sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", + "peer": true, + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/shared": "3.5.13", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", + "peer": true, + "dependencies": { + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", + "peer": true, + "dependencies": { + "@babel/parser": "^7.25.3", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.11", + "postcss": "^8.4.48", + "source-map-js": "^1.2.0" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", + "peer": true, + "dependencies": { + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", + "peer": true, + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", + "peer": true, + "dependencies": { + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", + "peer": true, + "dependencies": { + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "vue": "3.5.13" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", + "peer": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/acorn": { + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-typescript": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/acorn-typescript/-/acorn-typescript-1.4.13.tgz", + "integrity": "sha512-xsc9Xv0xlVfwp2o7sQ+GCQ1PgbkdcpWdTzrwXxO3xDMTAywVS3oXVOcOHuRjAPkS4P9b+yc/qNF15460v+jp4Q==", + "peer": true, + "peerDependencies": { + "acorn": ">=8.9.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.6.0.tgz", + "integrity": "sha512-kja8j7PjmncONqaTsB8fQ+wE2mSU2DJ9D4XKoJ5PFWIdRMa6SLSN1ff4mOr4jCbfRSsxR4keIiySJU0N9T5hIQ==", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/ai": { + "version": "3.4.33", + "resolved": "https://registry.npmjs.org/ai/-/ai-3.4.33.tgz", + "integrity": "sha512-plBlrVZKwPoRTmM8+D1sJac9Bq8eaa2jiZlHLZIWekKWI1yMWYZvCCEezY9ASPwRhULYDJB2VhKOBUUeg3S5JQ==", + "dependencies": { + "@ai-sdk/provider": "0.0.26", + "@ai-sdk/provider-utils": "1.0.22", + "@ai-sdk/react": "0.0.70", + "@ai-sdk/solid": "0.0.54", + "@ai-sdk/svelte": "0.0.57", + "@ai-sdk/ui-utils": "0.0.50", + "@ai-sdk/vue": "0.0.59", + "@opentelemetry/api": "1.9.0", + "eventsource-parser": "1.1.2", + "json-schema": "^0.4.0", + "jsondiffpatch": "0.6.0", + "secure-json-parse": "^2.7.0", + "zod-to-json-schema": "^3.23.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "openai": "^4.42.0", + "react": "^18 || ^19 || ^19.0.0-rc", + "sswr": "^2.1.0", + "svelte": "^3.0.0 || ^4.0.0 || ^5.0.0", + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "openai": { + "optional": true + }, + "react": { + "optional": true + }, + "sswr": { + "optional": true + }, + "svelte": { + "optional": true + }, + "zod": { + "optional": true + } + } + }, + "node_modules/ai/node_modules/@ai-sdk/provider": { + "version": "0.0.26", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-0.0.26.tgz", + "integrity": "sha512-dQkfBDs2lTYpKM8389oopPdQgIU007GQyCbuPPrV+K6MtSII3HBfE0stUIMXUb44L+LK1t6GXPP7wjSzjO6uKg==", + "dependencies": { + "json-schema": "^0.4.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/ai/node_modules/@ai-sdk/provider-utils": { + "version": "1.0.22", + "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-1.0.22.tgz", + "integrity": "sha512-YHK2rpj++wnLVc9vPGzGFP3Pjeld2MwhKinetA0zKXOoHAT/Jit5O8kZsxcSlJPu9wvcGT1UGZEjZrtO7PfFOQ==", + "dependencies": { + "@ai-sdk/provider": "0.0.26", + "eventsource-parser": "^1.1.2", + "nanoid": "^3.3.7", + "secure-json-parse": "^2.7.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3.0.0" + }, + "peerDependenciesMeta": { + "zod": { + "optional": true + } + } + }, + "node_modules/ai/node_modules/eventsource-parser": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-1.1.2.tgz", + "integrity": "sha512-v0eOBUbiaFojBu2s2NPBfYUoRR9GjcDNvCXVaqEf5vVfpIAh9f8RCo4vXTP8c63QRKCFwoLpMpTdPwwhEKVgzA==", + "engines": { + "node": ">=14.18" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "peer": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/babel-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz", + "integrity": "sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "license": "MIT", + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bowser": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", + "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.4", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", + "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001688", + "electron-to-chromium": "^1.5.73", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/buildcheck": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/buildcheck/-/buildcheck-0.0.6.tgz", + "integrity": "sha512-8f9ZJCUXyT1M35Jx7MkBgmBMo3oHTTBIPLiY9xyL0pl3T5RwcPEY8cUHr5LBNfu/fk6c2T4DJZuVM/8ZZT2D2A==", + "optional": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001699", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001699.tgz", + "integrity": "sha512-b+uH5BakXZ9Do9iK+CkDmctUSEqZl+SP056vc5usa0PL+ev5OHw003rZXcnjNDv3L8P5j6rwT6C0BPKSikW08w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/cpu-features": { + "version": "0.0.10", + "resolved": "https://registry.npmjs.org/cpu-features/-/cpu-features-0.0.10.tgz", + "integrity": "sha512-9IkYqtX3YHPCzoVg1Py+o9057a3i0fp7S530UWokCSaFVTc7CwXPRiOjRjBQQ18ZCNafx78YfnG+HALxtVmOGA==", + "hasInstallScript": true, + "optional": true, + "dependencies": { + "buildcheck": "~0.0.6", + "nan": "^2.19.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/create-jest/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/create-jest/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/cross-fetch": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cross-fetch/-/cross-fetch-4.1.0.tgz", + "integrity": "sha512-uKm5PU+MHTootlWEY+mZ4vvXoCn4fLQxT9dSc1sXVMSFkINTJVN8cAQROpwcKm8bJ/c7rgZVIBWzH5T78sNZZw==", + "dependencies": { + "node-fetch": "^2.7.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "peer": true + }, + "node_modules/debug": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz", + "integrity": "sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff-match-patch": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/diff-match-patch/-/diff-match-patch-1.0.5.tgz", + "integrity": "sha512-IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==" + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dotenv": { + "version": "16.4.7", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", + "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://dotenvx.com" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.96", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.96.tgz", + "integrity": "sha512-8AJUW6dh75Fm/ny8+kZKJzI1pgoE8bKLZlzDU2W1ENd+DXKJrx7I7l9hb8UWR4ojlnb5OlixMt00QWiYJoVw1w==", + "dev": true, + "license": "ISC" + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "peer": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/esm-env": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/esm-env/-/esm-env-1.2.2.tgz", + "integrity": "sha512-Epxrv+Nr/CaL4ZcFGPJIYLWFom+YeV1DqMLHJoEd9SYRxNbaFruBwfEX/kkHUJf55j2+TUbmDcmuilbP1TmXHA==", + "peer": true + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esrap": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/esrap/-/esrap-1.4.3.tgz", + "integrity": "sha512-Xddc1RsoFJ4z9nR7W7BFaEPIp4UXoeQ0+077UdWLxbafMQFyU79sQJMk7kxNgRwQ9/aVgaKacCHC2pUACGwmYw==", + "peer": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "peer": true + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.0.tgz", + "integrity": "sha512-T1C0XCUimhxVQzW4zFipdx0SficT651NnkR0ZSH3yQwh+mFMdLfgjABVi4YtMTtaL4s168593DaoaRLMqryavA==", + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/exa-js": { + "version": "1.4.9", + "resolved": "https://registry.npmjs.org/exa-js/-/exa-js-1.4.9.tgz", + "integrity": "sha512-vR8ap7bIfVcHaO0SxcpiWZW97kcTczIf4sf1brLqi5Rv7a6a7611/fb4RXOFL5bfNf/adM2otmvuz68C7B7gjA==", + "dependencies": { + "cross-fetch": "^4.0.0", + "dotenv": "^16.4.7" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-xml-parser": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/NaturalIntelligence" + }, + { + "type": "paypal", + "url": "https://paypal.me/naturalintelligence" + } + ], + "dependencies": { + "strnum": "^1.0.5" + }, + "bin": { + "fxparser": "src/cli/cli.js" + } + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "bser": "2.1.1" + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/form-data": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", + "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/form-data-encoder": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", + "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" + }, + "node_modules/formdata-node": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", + "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "dependencies": { + "node-domexception": "1.0.0", + "web-streams-polyfill": "4.0.0-beta.3" + }, + "engines": { + "node": ">= 12.20" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/import-local": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-generator-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-reference": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.3.tgz", + "integrity": "sha512-ixkJoqQvAP88E6wLydLGGqCJsrFUnqoH6HnaczB8XmDH1oaWU+xxdptvikTgaEhtZ53Ky6YXiBuUI2WXLMCwjw==", + "peer": true, + "dependencies": { + "@types/estree": "^1.0.6" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "license": "MIT", + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-circus/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-cli/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-cli/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-config/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-config/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-diff/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-diff/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-each/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-matcher-utils/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-message-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "license": "MIT", + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-resolve/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runner/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-runtime/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-snapshot/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-util/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-util/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-validate/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-watcher/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jest-watcher/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema": { "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsondiffpatch": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/jsondiffpatch/-/jsondiffpatch-0.6.0.tgz", + "integrity": "sha512-3QItJOXp2AP1uv7waBkao5nCvhEv+QmJAd38Ybq7wNI74Q+BBmnLn4EDKz6yI9xGAIQoUF87qHt+kc1IVxB4zQ==", + "dependencies": { + "@types/diff-match-patch": "^1.0.36", + "chalk": "^5.3.0", + "diff-match-patch": "^1.0.5" + }, + "bin": { + "jsondiffpatch": "bin/jsondiffpatch.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "peer": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "peer": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "7.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", + "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/nan": { + "version": "2.22.0", + "resolved": "https://registry.npmjs.org/nan/-/nan-2.22.0.tgz", + "integrity": "sha512-nbajikzWTMwsW+eSsNm3QwlOs7het9gGJU5dDZzRTQGk03vyBOauxgI4VakDzE0PtsGTmXPsXTbbjVhRwR5mpw==", + "optional": true + }, + "node_modules/nanoid": { + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/openai": { + "version": "4.81.0", + "resolved": "https://registry.npmjs.org/openai/-/openai-4.81.0.tgz", + "integrity": "sha512-lXkFkV+He3O6RGnldHncRGef4uWHssDsAVwN5I3bWcgIdDPy/w8vgtIAwvZxAj49m4WiwWVD0+eGTJ9xOv/ISA==", + "dependencies": { + "@types/node": "^18.11.18", + "@types/node-fetch": "^2.6.4", + "abort-controller": "^3.0.0", + "agentkeepalive": "^4.2.1", + "form-data-encoder": "1.7.2", + "formdata-node": "^4.3.2", + "node-fetch": "^2.6.7" + }, + "bin": { + "openai": "bin/cli" + }, + "peerDependencies": { + "ws": "^8.18.0", + "zod": "^3.23.8" + }, + "peerDependenciesMeta": { + "ws": { + "optional": true + }, + "zod": { + "optional": true + } + } }, - "node_modules/bowser": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/bowser/-/bowser-2.11.0.tgz", - "integrity": "sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==" + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", "dependencies": { - "delayed-stream": "~1.0.0" + "p-limit": "^2.2.0" }, "engines": { - "node": ">= 0.8" + "node": ">=8" } }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", "dependencies": { - "ms": "^2.1.3" + "p-try": "^2.0.0" }, "engines": { - "node": ">=6.0" + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/pg": { + "version": "8.13.1", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.13.1.tgz", + "integrity": "sha512-OUir1A0rPNZlX//c7ksiu7crsGZTKSOXJPgtNiHGIlC9H0lO+NC6ZDYksSgBYY/thSWhnSRBv8w1lieNNGATNQ==", + "dependencies": { + "pg-connection-string": "^2.7.0", + "pg-pool": "^3.7.0", + "pg-protocol": "^1.7.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + }, + "engines": { + "node": ">= 8.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.1.1" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" }, "peerDependenciesMeta": { - "supports-color": { + "pg-native": { "optional": true } } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "node_modules/pg-cloudflare": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", + "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.7.0.tgz", + "integrity": "sha512-PI2W9mv53rXJQEOb8xNR8lH7Hr+EKa6oJa38zsK0S/ky2er16ios1wLKhZyxzD7jUReiWokc9WK5nxSnC7W1TA==" + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", "engines": { - "node": ">=0.4.0" + "node": ">=4.0.0" } }, - "node_modules/dotenv": { - "version": "16.4.7", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.4.7.tgz", - "integrity": "sha512-47qPchRCykZC03FhkYAhrvwU4xDBFIj1QPqaarj6mdM/hgUzfPHcpkHJOn3mJAufFeeAxAzeGsr5X0M4k6fLZQ==", + "node_modules/pg-pool": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.7.0.tgz", + "integrity": "sha512-ZOBQForurqh4zZWjrgSwwAtzJ7QiRX0ovFkZr2klsen3Nm0aoh33Ls0fzfv3imeH/nw/O27cjdz5kzYJfeGp/g==", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.7.0.tgz", + "integrity": "sha512-hTK/mE36i8fDDhgDFjy6xNOG+LCorxLG3WO17tku+ij6sVHXh1jQUJ8hYAnRhNla4QVD2H8er/FOjc/+EgC6yQ==" + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, "engines": { - "node": ">=12" + "node": ">=4" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" }, "funding": { - "url": "https://dotenvx.com" + "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", "engines": { - "node": ">=6" + "node": ">= 6" } }, - "node_modules/fast-xml-parser": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", - "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/postcss": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, { "type": "github", - "url": "https://github.com/sponsors/NaturalIntelligence" + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "dependencies": { + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pure-rand": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" }, { - "type": "paypal", - "url": "https://paypal.me/naturalintelligence" + "type": "opencollective", + "url": "https://opencollective.com/fast-check" } ], + "license": "MIT" + }, + "node_modules/react": { + "version": "19.0.0", + "resolved": "https://registry.npmjs.org/react/-/react-19.0.0.tgz", + "integrity": "sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", "dependencies": { - "strnum": "^1.0.5" + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { - "fxparser": "src/cli/cli.js" + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve.exports": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/simple-git": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz", + "integrity": "sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==", + "dependencies": { + "@kwsites/file-exists": "^1.1.1", + "@kwsites/promise-deferred": "^1.1.1", + "debug": "^4.3.5" + }, + "funding": { + "type": "github", + "url": "https://github.com/steveukx/git-js?sponsor=1" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "peer": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "node_modules/form-data": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz", - "integrity": "sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw==", + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + }, + "node_modules/ssh2": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/ssh2/-/ssh2-1.16.0.tgz", + "integrity": "sha512-r1X4KsBGedJqo7h8F5c4Ybpcr5RjyP+aWIG007uBPRjmdQWfEiVLzSK71Zji1B9sKxwaCvD8y8cwSkYrlLiRRg==", + "hasInstallScript": true, "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" + "asn1": "^0.2.6", + "bcrypt-pbkdf": "^1.0.2" }, "engines": { - "node": ">= 6" + "node": ">=10.16.0" + }, + "optionalDependencies": { + "cpu-features": "~0.0.10", + "nan": "^2.20.0" } }, - "node_modules/form-data-encoder": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/form-data-encoder/-/form-data-encoder-1.7.2.tgz", - "integrity": "sha512-qfqtYan3rxrnCk1VYaA4H+Ms9xdpPqvLZa6xmMgFvhO32x7/3J/ExcTd6qpxM0vH2GdMI+poehyBZvqfMTto8A==" + "node_modules/sswr": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/sswr/-/sswr-2.1.0.tgz", + "integrity": "sha512-Cqc355SYlTAaUt8iDPaC/4DPPXK925PePLMxyBKuWd5kKc5mwsG3nT9+Mq2tyguL5s7b4Jg+IRMpTRsNTAfpSQ==", + "dependencies": { + "swrev": "^4.0.0" + }, + "peerDependencies": { + "svelte": "^4.0.0 || ^5.0.0-next.0" + } }, - "node_modules/formdata-node": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/formdata-node/-/formdata-node-4.4.1.tgz", - "integrity": "sha512-0iirZp3uVDjVGt9p49aTaqjk84TrglENEDuqfdlZQ1roC9CWlPk6Avf8EEnZNcAqPonwkG35x4n3ww/1THYAeQ==", + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "license": "MIT", "dependencies": { - "node-domexception": "1.0.0", - "web-streams-polyfill": "4.0.0-beta.3" + "escape-string-regexp": "^2.0.0" }, "engines": { - "node": ">= 12.20" + "node": ">=10" } }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "license": "MIT", "dependencies": { - "ms": "^2.0.0" + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", "dependencies": { - "mime-db": "1.52.0" + "ansi-regex": "^5.0.1" }, "engines": { - "node": ">= 0.6" + "node": ">=8" } }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + "node_modules/strip-bom": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "node_modules/node-domexception": { + "node_modules/strip-bom-string": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", - "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/jimmywarting" - }, - { - "type": "github", - "url": "https://paypal.me/jimmywarting" - } - ], + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==", "engines": { - "node": ">=10.5.0" + "node": ">=0.10.0" } }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strnum": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", + "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", "dependencies": { - "whatwg-url": "^5.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/openai": { - "version": "4.81.0", - "resolved": "https://registry.npmjs.org/openai/-/openai-4.81.0.tgz", - "integrity": "sha512-lXkFkV+He3O6RGnldHncRGef4uWHssDsAVwN5I3bWcgIdDPy/w8vgtIAwvZxAj49m4WiwWVD0+eGTJ9xOv/ISA==", + "node_modules/svelte": { + "version": "5.19.7", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-5.19.7.tgz", + "integrity": "sha512-I0UUp2MpB5gF8aqHJVklOcRcoLgQNnBolSwLMMqDepE9gVwmGeYBmJp1/obzae72QpxdPIymA4AunIm2x70LBg==", + "peer": true, "dependencies": { - "@types/node": "^18.11.18", - "@types/node-fetch": "^2.6.4", - "abort-controller": "^3.0.0", - "agentkeepalive": "^4.2.1", - "form-data-encoder": "1.7.2", - "formdata-node": "^4.3.2", - "node-fetch": "^2.6.7" + "@ampproject/remapping": "^2.3.0", + "@jridgewell/sourcemap-codec": "^1.5.0", + "@types/estree": "^1.0.5", + "acorn": "^8.12.1", + "acorn-typescript": "^1.4.13", + "aria-query": "^5.3.1", + "axobject-query": "^4.1.0", + "clsx": "^2.1.1", + "esm-env": "^1.2.1", + "esrap": "^1.4.3", + "is-reference": "^3.0.3", + "locate-character": "^3.0.0", + "magic-string": "^0.30.11", + "zimmerframe": "^1.1.2" }, - "bin": { - "openai": "bin/cli" + "engines": { + "node": ">=18" + } + }, + "node_modules/swr": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.0.tgz", + "integrity": "sha512-NyZ76wA4yElZWBHzSgEJc28a0u6QZvhb6w0azeL2k7+Q1gAzVK+IqQYXhVOC/mzi+HZIozrZvBVeSeOZNR2bqA==", + "dependencies": { + "dequal": "^2.0.3", + "use-sync-external-store": "^1.4.0" }, "peerDependencies": { - "ws": "^8.18.0", - "zod": "^3.23.8" - }, - "peerDependenciesMeta": { - "ws": { - "optional": true - }, - "zod": { - "optional": true - } + "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" } }, - "node_modules/simple-git": { - "version": "3.27.0", - "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz", - "integrity": "sha512-ivHoFS9Yi9GY49ogc6/YAi3Fl9ROnF4VyubNylgCkA+RVqLaKWnDSzXOVzya8csELIaWaYNutsEuAhZrtOjozA==", + "node_modules/swrev": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/swrev/-/swrev-4.0.0.tgz", + "integrity": "sha512-LqVcOHSB4cPGgitD1riJ1Hh4vdmITOp+BkmfmXRh4hSF/t7EnS4iD+SOTmq7w5pPm/SiPeto4ADbKS6dHUDWFA==" + }, + "node_modules/swrv": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/swrv/-/swrv-1.1.0.tgz", + "integrity": "sha512-pjllRDr2s0iTwiE5Isvip51dZGR7GjLH1gCSVyE8bQnbAx6xackXsFdojau+1O5u98yHF5V73HQGOFxKUXO9gQ==", + "peerDependencies": { + "vue": ">=3.2.26 < 4" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, + "license": "ISC", "dependencies": { - "@kwsites/file-exists": "^1.1.1", - "@kwsites/promise-deferred": "^1.1.1", - "debug": "^4.3.5" + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/throttleit": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz", + "integrity": "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==", + "engines": { + "node": ">=18" }, "funding": { - "type": "github", - "url": "https://github.com/steveukx/git-js?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strnum": { + "node_modules/tmpl": { "version": "1.0.5", - "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", - "integrity": "sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==" + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } }, "node_modules/tr46": { "version": "0.0.3", @@ -1779,11 +7048,78 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, + "node_modules/tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==" + }, + "node_modules/type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/undici-types": { "version": "5.26.5", "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, + "node_modules/update-browserslist-db": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz", + "integrity": "sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/use-sync-external-store": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", @@ -1796,6 +7132,52 @@ "uuid": "dist/bin/uuid" } }, + "node_modules/v8-to-istanbul": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.12", + "@types/istanbul-lib-coverage": "^2.0.1", + "convert-source-map": "^2.0.0" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/vue": { + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", + "peer": true, + "dependencies": { + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "makeerror": "1.0.12" + } + }, "node_modules/web-streams-polyfill": { "version": "4.0.0-beta.3", "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-4.0.0-beta.3.tgz", @@ -1817,6 +7199,166 @@ "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zimmerframe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/zimmerframe/-/zimmerframe-1.1.2.tgz", + "integrity": "sha512-rAbqEGa8ovJy4pyBxZM70hg4pE6gDgaQ0Sl9M3enG3I0d6H4XSAM3GeNGLKnsBpuijUow064sf7ww1nutC5/3w==", + "peer": true + }, + "node_modules/zod": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.1.tgz", + "integrity": "sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.1.tgz", + "integrity": "sha512-3h08nf3Vw3Wl3PK+q3ow/lIil81IT2Oa7YpQyUUDsEWbXveMesdfK1xBd2RhCkynwZndAxixji/7SYJJowr62w==", + "peerDependencies": { + "zod": "^3.24.1" + } } } } diff --git a/package.json b/package.json index 0dd87335..e23b6b28 100644 --- a/package.json +++ b/package.json @@ -4,15 +4,31 @@ "description": "", "main": "scripts/file-organizer.js", "dependencies": { + "@ai-sdk/anthropic": "^1.0.0", + "@ai-sdk/google": "^1.0.0", + "@ai-sdk/openai": "^1.0.0", + "@ai-sdk/provider": "^1.0.0", + "@ai-sdk/xai": "^1.0.0", "@aws-sdk/client-s3": "^3.0.0", - "dotenv": "^16.0.3", + "@types/events": "^3.0.3", + "ai": "^3.0.0", + "dotenv": "^16.4.7", + "exa-js": "^1.0.0", + "gray-matter": "^4.0.3", "mime-types": "^2.1.35", "openai": "^4.0.0", - "simple-git": "^3.0.0" + "pg": "^8.13.1", + "simple-git": "^3.0.0", + "ssh2": "^1.16.0", + "zod": "^3.24.1" }, "scripts": { "organize": "node scripts/file-organizer.js", "migrate": "node scripts/migrate-content.js", - "process-images": "node scripts/process-images.js" + "process-images": "node scripts/process-images.js", + "test": "jest" + }, + "devDependencies": { + "jest": "^29.7.0" } -} \ No newline at end of file +} diff --git a/patient-industrial-complex.md b/patient-industrial-complex.md new file mode 100644 index 00000000..265e2a14 --- /dev/null +++ b/patient-industrial-complex.md @@ -0,0 +1,95 @@ +# 🏛️ Patient Industrial Complex Advocacy System + +## 📜 Overview + +The Patient Industrial Complex (PIC) uses tokens to reward actions that advance +the [Disease Eradication Act](https://wishonia.love/dfda/disease-eradication-act) and reduce patient suffering. The token has no +intrinsic value - it's simply a point system to incentivize and coordinate collective action. + +## 🎁 Rewarded Actions & Impact + +### Legislative Optimization + +| Action | Reward | Impact Multiplier | +|-----------------------|------------|------------------------| +| Draft improvements | 100 tokens | 1-5x based on adoption | +| Legal analysis | 200 tokens | 1-3x based on utility | +| Research contribution | 150 tokens | 1-4x based on impact | + +### Grassroots Mobilization + +| Action | Reward | Impact Multiplier | +|---------------------------------|------------|--------------------------| +| Contact representative | 50 tokens | 1-3x based on response | +| Organize event | 300 tokens | 1-5x based on attendance | +| Recruit healthcare professional | 250 tokens | 1-4x based on influence | + +### Evidence Collection + +| Action | Reward | Impact Multiplier | +|----------------------------|------------|------------------------| +| Share patient story | 100 tokens | 1-3x based on reach | +| Document access issues | 150 tokens | 1-4x based on severity | +| Cost analysis contribution | 200 tokens | 1-5x based on savings | + +## 📊 Impact Measurement + +### Key Metrics + +1. Legislative Progress + - Supporting legislators + - Committee advancement + - Public awareness + - Expert endorsements + +2. Patient Impact + - Lives improved + - Access expanded + - Costs reduced + - Treatments accelerated + +## 🚀 Implementation Phases + +### Phase 1: Foundation (Months 1-6) + +- Launch reward system +- Build advocacy community +- Develop tracking systems +- Recruit expert advisors + +### Phase 2: Acceleration (Months 7-18) + +- Scale advocacy efforts +- Coordinate legislative push +- Expand evidence collection +- Launch pilot programs + +### Phase 3: Implementation (Months 19+) + +- Support regulatory framework +- Guide implementation +- Monitor outcomes +- Scale successful programs + +## 🔄 Success Metrics + +### Short-term (6 months) + +- 1,000 active advocates +- 10 expert endorsements +- 100 patient stories +- 5 legislative supporters + +### Medium-term (18 months) + +- 10,000 active advocates +- 50 expert endorsements +- 1,000 patient stories +- 25 legislative supporters + +### Long-term (36+ months) + +- 100,000 active advocates +- 200 expert endorsements +- 10,000 patient stories +- Passage of legislation diff --git a/privacy.md b/privacy.md new file mode 100644 index 00000000..b95762d3 --- /dev/null +++ b/privacy.md @@ -0,0 +1,194 @@ +# The dFDA Privacy and Use Policy + +## Your Data: + +- Will **never** be used for advertising +- Will **never** be sold +- May be used by The dFDA **without your identifying information** +- Is **securely** stored in the United States by The dFDA. +- May be shared with the organizers of the Projects in which you choose to participate **(which may have their own privacy practices)** + +## How Your Data Helps You + +The dFDA allows you to participate in different types of health projects, such as: + +- Research studies +- Healthcare quality improvement programs +- Health and wellness tools + +## Data You Can Share + +When you participate in a Project, you may be asked to share some of your information, such as: + +- Your medical history +- Information from digital health devices, such as your heart rate +- App analytics and usage information + +You may withdraw from a Project and request data deletion at any time. + +The dFDA uses appropriate physical, organizational, and technical safeguards to protect the confidentiality and integrity of the information we collect. + +[Learn more about The dFDA Privacy and Use](#toc) + +# The dFDA Privacy and Use Policy + +Last Updated: December 2024 + +[Overview](#overview) + +The dFDA (the "App") enable consumer participation in research studies, quality improvement programs, and health and wellness tools (the "Project" or "Projects") organized by healthcare researchers and providers (the "Investigators") to improve our understanding of how diseases progress, what healthcare interventions work, and how each of us may respond differently to the same interventions so we may learn how to improve our collective health and well-being through data. Your use of the App will allow you to share information about your overall health and fitness; family history; your activity level; any sensor-based data such as weight, blood pressure, blood glucose level, and heart rate; information about your location; and any other information requested by Projects you enroll in and agree to provide as part of the Project. + +### What does this Policy Cover? + +The dFDA ("We") take your privacy very seriously and are conscious about how we handle your data. Your use of the App and your participation in the Projects are each voluntary. The set of policies here covers what kinds of information (the "Data") the App collects, how We store the Data, how We use the Data, and how We may share the Data. By using the App you acknowledge that you accept the practices and policies outlined here. You also consent that We collect, use, and share your information as described in this privacy policy. + +This Privacy and Use Policy does not apply to the practices of the Investigators or the companies and institutions that we do not own or control, or to individuals that we do not employ or manage. For each Project you elect to participate in, you will be prompted to consent before any of your data is shared. For digital clinical research Projects, you are required to review and acknowledge the informed consent form provided by that Project's Investigator. + +### Registering for the App + +In order to participate in the App platform, we ask you to create an account in the App. To create an account, you must share certain identifying information (such as name, date of birth, email address) and preferences (such as whether to share certain types of data, whether and when to receive notifications and reminders), and agree to the usage and privacy practices as detailed in this document, which may be modified from time to time. + +The dFDA does not allow children under 13 years old to create their own accounts. To enroll a minor under 13 years old in a project, a parent/guardian must register their own account, provide consent, and oversee the minor's participation. Parents/guardians are responsible for ensuring that their child's data is entered and used in accordance with applicable laws and consent requirements. + +[Information We Collect - the "Data"](#the-data) + +The App will **not** access your personal contacts, personal photos nor any text and email messages on your smartphone without your explicit permission. + +The App will obtain information from you in three ways. + +- Manually entered information -- this is information that you manually enter into the App. +- Automatically collected information -- this information is either generated as a byproduct of your use of the App or generated by your smartphone or any digital health devices connected to your smartphone. +- Existing Information -- this information is typically the result of one or more connections to existing data from your healthcare provider (such as a physician office or hospital, among others) that you authorize in the App. + +### Information you manually enter into the App + +We receive and store some information you manually enter into the App. In addition to directly identifiable Personal Information, We or an Investigator may ask you to enter information including but not limited to your medications, medical history, lifestyle choices, illnesses and associated symptoms, mood, activity, and fitness. In the future We may collect additional health-related information as the App and the surveys presented to you are further developed by various researchers who implement Projects using the App. You can choose not to provide us with certain information by simply skipping questions that you are uncomfortable answering. + +### Information That May Be Collected Automatically + +In addition to the information that you manually enter, with your permission, the App also collects certain information about you automatically through your smartphone and/or any other connected digital health devices such as smartwatches. + +- **Apple's Health Application ("Health") and HealthKit** + + The following provision relates to your ability to share your information with Health and your ability to have Health send information back to the App. Health is an app from Apple that allows you to store your personal health information on the Apple device. Our App will ask you to enable sharing of information with Health. Apple Health will provide you the ability to select which information from Health is shared with the App. **Please be aware that this information may not be accessible by your specific health providers. For specific health concerns, please contact your care provider directly.** + + Because the settings in Health and the apps which work with Health will affect how your information is used and disclosed, it is important that you review the privacy policies and settings of those applications. You can find more information about Health and your privacy settings at [https://www.apple.com/ios/health/](https://www.apple.com/ios/health/). + +- **Apple Sensor & Usage Data ("Apple SensorKit")** + + The following provision relates to your ability to have Sensor & Usage Data (Apple SensorKit data) from your Apple device(s) sent back to the App. Depending on the projects you participate in, our App may ask you to enable sharing your Apple Sensor & Usage Data. Your Apple device (e.g., iPhone) will provide you the ability to select which information is shared with the App. This may include metrics that describe your facial expression. **Please be aware that this information may not be accessible by your specific health providers. For specific health concerns, please contact your care provider directly.** + + You can find more information about Apple Sensor & Usage Data and your privacy settings at [https://www.apple.com/legal/privacy/data/en/sensor-usage-data/](https://www.apple.com/legal/privacy/data/en/sensor-usage-data/). + +- **Google Fit** + + The following provision relates to your ability to have Google Fit send information back to the App. Google Fit is a cloud-based activity-tracking platform that allows you to share your activity information with other apps and devices that are designed to work with Google Fit. You may enable sharing between the App and Google Fit applications as well as choose which information is shared with Google Fit. You can also select which information from Google Fit is shared with the App. **Please be aware that this information may not be accessible by your specific health providers. For specific health concerns, please contact your care provider directly.** + + Because the settings in Google Fit and the apps which work with Google Fit will affect how your information is used and disclosed, it is important that you review the privacy policies and settings of those applications. You can find more information about Google Fit and your privacy settings at [https://www.google.com/fit/](https://www.google.com/fit/). + +- **Google's Health Connect by Android** + + The following provision relates to your ability to share your information with Health Connect and have Health Connect send information back to the App. Health Connect is an app from Google that allows you to store your personal health information on the Android device. Our App may ask you to enable sharing of information with Health Connect. Health Connect will provide you the ability to select which information from Health Connect is shared with the App. Please be aware that this information may not be accessible to your specific health providers. For specific health concerns, please contact your care provider directly. + + Because the settings in Health Connect and the apps which work with Health Connect will affect how your information is used and disclosed, it is important that you review the privacy policies and settings of those applications. You can find more information about Health Connect and your privacy settings at [https://health.google/health-connect-android/](https://health.google/health-connect-android/). + +- **Wearables and Other Digital Health Devices (for example, Fitbit, Withings)** + + The following provision relates to your ability to have your digital health devices and the services offered by the device company send data back to the App. You may enable sharing between the App and your device as well as choose which information is shared with the device company. You can also select which information from the device is shared with the App. **Please be aware that this information may not be accessible by your specific health providers. For specific health concerns, please contact your care provider directly.** + + Because the settings in your device(s) and the apps which work with your device will affect how your information is used and disclosed, it is important that you review the privacy policies and settings of those applications. You can find more information about your device and your privacy settings at your device company's website. For example: [https://www.fitbit.com/privacy](https://www.fitbit.com/privacy). + +- **Location Information** + + If required by a specific Project in the App, we may also collect information about your location through your smartphone or digital health device's applicable geolocation, GPS, wifi or similar capabilities ("Location Information"). We use a power-efficient way of gathering the location data on your movements that are noteworthy (for example, to determine if your typical mobility outside your home has decreased due to changes in your health status). + +- **Usage Information** + + The App may also automatically receive technical information relating to your usage of the App such as your operating system, device, features used, content viewed and downloaded, the dates and times of your interactions with the App, and other information. + + +### Information for Minors + +For minors under 13 years old, participation in projects is facilitated through their parent/guardian's account. Parents/guardians provide consent, manage the account, and may enter or review information on behalf of the child. The dFDA does not permit children under 13 years old to create their own accounts or directly submit data without parental involvement. Investigators are responsible for ensuring compliance with applicable laws, including [COPPA](https://www.ftc.gov/legal-library/browse/rules/childrens-online-privacy-protection-rule-coppa), for projects involving minors. + +[Notifications](#notifications) + +### Push Notifications + +"Push notifications" are App messages sent to your smartphone as reminders of what you may wish to do for the various Projects you may be participating in. Such notifications can serve as helpful reminders to complete surveys or take certain measurements (for example, blood pressure, weight, or glucose readings). You can choose to disable notifications in the settings on your smartphone, but we strongly encourage you to not disable such notifications. + +### SMS Messages + +Another way you could receive notifications from The dFDA is through SMS (text) messages. When signing up for our service, we will send you a one-time PIN code to verify your account from The dFDA. You can also choose to receive continuous notifications about your participation in health research studies. Message and data rates may apply. The frequency of these messages depends on the number of Projects you are enrolled in and their schedule. If you need help reply with "HELP" or contact [support@dfda.earth](mailto:support@dfda.earth). To unsubscribe reply "STOP" to any received message. Carriers are not liable for delayed or undelivered messages. + +[Data Handling](#data-handling) + +### How We Secure Your Data + +Your Data is maintained in the United States by us (The dFDA) or our authorized partners. + +We use appropriate physical, organizational, and technical safeguards designed to protect the confidentiality, integrity, and availability of the Data we collect. For example, your data is encrypted both while it is stored and while it is transmitted in accordance with the security standards set forth by the National Institute of Standards and Technology's (NIST) Federal Information Processing Standard (FIPS) Publication 140-2: Security Requirements for Cryptographic Modules. These are the standards mandated by the Department of Health and Human Services for securing health information. We cannot, however, fully guarantee the security of the Data or any information transmitted to us. + +If you enable sharing with third-party device manufacturers and their systems (such as Apple Health, Fitbit, Google Fit, Google Health Connect, etc.) or your health plan or provider, you understand that the App uses the standard security protocols, as provided by the third parties, to protect the privacy and security of your information as it is transmitted to and stored by these third parties. The dFDA has no control over their security protocols. + +Access to the App on your smartphone will be protected by the biometric code (such as Touch ID or Face ID) or the passcode you have enabled on your smartphone. We strongly recommend that one of these be enabled to protect access to all apps on your smartphone, including our App. + +We strive to protect the privacy of the Personal Information we collect and hold, but we cannot guarantee complete security. Unauthorized entry or use, hardware or software failure, and other factors may compromise the security of your Personal Information at any time. + +### How We Use the Data + +Your Data will never be sold or used for advertising. + +The App collects your Data for the following purposes: + +- For the improving general health, medical and fitness management, and for the purposes of medical research. +- We may use the Data to understand, customize and improve user experience with the App. For example, we may engage analytics services to analyze this information in order to help us understand how users engage with and navigate the App, how and when features within the App are used and by how many users. +- We may use the data without your identifying information (name, contact information, email address) to support research and health or quality improvement initiatives with external collaborators and partners. + +### How We May Share the Data + +Except as described in this privacy policy, we will not sell, rent, lease, give away, disclose, or share your contact information, and will not disclose the Data we collect through the App without your consent. Any information collected by the App will not be shared with or sold for advertising purposes. + +If required by law, we may share anonymized Data with United States Department of Health and Human Services agencies, the Office for Human Research Protection, and other agencies or courts as required by law. Also, the Institutional Review Board at the Investigator's institutions that implement a Project in the App may access anonymous data to monitor the safety and conduct of human research. + +We may share the Data among the Investigators and Projects you choose to participate in. + +We may combine your Data without identifying information (removing information such as name, DOB, and email address) with others' data (also without identifying information) for use in health and fitness research and quality improvement initiatives. + +We also reserve the right to disclose your information that we believe, in good faith, may be necessary to i) protect our intellectual property and other rights; ii) take liability; iii) protect ourselves from fraudulent, abusive, or unlawful uses or activity; iv) investigate and defend ourselves against any third-party claims or allegations; or v) protect the rights or safety of others. We will notify you of any such disclosures. + +When we work with third parties who provide services on our behalf, we take steps to limit the Personally Identifiable Information provided to them to that which is reasonably necessary for them to perform the functions for the allowable purposes listed above. We require them to agree to handle and process the information in accordance with our instructions and to maintain the confidentiality, integrity, and availability of the information by applying appropriate organizational and technical safeguards. + +We reserve the right to disclose and otherwise transfer your Data to an acquirer, successor, or assignee as part of any merger, acquisition, debt financing, sale of assets, or similar transaction, or in the event of an insolvency, bankruptcy, or receivership in which information is transferred to one or more third parties as one of our business assets, to the extent and in the way as prescribed by applicable law. + +[Information You Can Access and Withdrawing From the App](#information-you-can-access) + +The App enables you to view, edit, and share some of the Data collected. + +You may elect to withdraw from using the App or any Projects implemented in the App at any time by contacting us at [support@dfda.earth](mailto:support@dfda.earth) with the email address you used to register your account. Upon your withdrawal, we will stop collecting new Data from you. + +You may request that your Data be deleted by contacting us at [support@dfda.earth](mailto:support@dfda.earth) with the email address you used to register your account. + +Parents/guardians can also access, review, or delete any data related to their child through their account or by contacting us. + +In some circumstances, we may not delete all of your Data, and we may continue to use your Data if it is necessary to comply with our legal obligations (including law enforcement requests), to meet regulatory requirements, to maintain our security program, or if retaining such Data is in the interest of public health or scientific research purposes. + +The Data that you have already shared with the Projects you have enrolled in will be retained even after you delete your account. We retain this Data in order to preserve the scientific integrity of the Projects. + +Data is deleted within 45 days of a deletion request, except where retention is necessary as described within this policy. + +[Limitations and Terms Related To Your Use of the App](#limitations) + +When you download the App, you receive a non-exclusive, non-transferable, non-assignable license (without the right to sublicense) to install and use one copy of the App solely for your personal, non-commercial use in connection with participating in the App community. You must own or control the device on which you download the App. By downloading and using the App, you agree that you will not do anything to interfere with or disrupt the operation of the App, will provide only accurate and current information through the App, and will not impersonate anyone else in your use of the App. You further agree not to transmit content that you do not have the right to transmit or that infringes the rights of any party, and you agree to use the App in compliance with all applicable laws. You understand that the App or portions of it may be subject to patent, copyright, trademark, and other intellectual property protection and that the ownership of software and other intellectual property related to the App, as well the goodwill associated therewith, remains with The dFDA. You agree that any improvements or other changes to the App are the property of The dFDA. + +The App (including any of the Projects administered in it) is not designed to deliver medical care, nor is the App intended to be professional medical advice or a substitute for such advice, or for diagnosis, treatment, cure, or prevention of any health conditions, and you should not rely on the App as such. You should always seek the advice of physicians or other qualified health care providers if you have questions about any medical condition or any information you receive from the App. Do not ignore or delay obtaining professional medical advice because of any information or other content you obtain from the App. + +To the maximum extent permitted by law, the App is provided "As Is" and "As Available", with all faults and without warranty of any kind, and The dFDA and its licensors disclaim all warranties, either implied or statutory, including, but not limited to, the implied warranties of merchantability, satisfactory quality, fitness for a particular purpose, accuracy, quiet enjoyment, and non-infringement of third party rights. To the extent not prohibited by applicable law, in no event shall The dFDA be liable for personal injury, or any incidental, special, indirect or consequential damages whatsoever arising out of or related to your use or inability to use the App. + +[Changes to Our Privacy and Use Policy](#changes) + +We may change this privacy policy from time to time. Any changes will be posted on our website and/or the respective app store and will be effective when published at [https://trust.dfda.earth/The dFDA/privacy.html](https://trust.dfda.earth/The dFDA/privacy.html). + +[Contact](#contact) + +If you have any questions, comments or requests regarding this policy or our handling of your Data, please contact us at [https://dfda.earth/contact-us/](https://dfda.earth/contact-us/). diff --git a/problems/clinical-research-is-expensive.md b/problems/clinical-research-is-expensive.md new file mode 100644 index 00000000..9dd9f6e9 --- /dev/null +++ b/problems/clinical-research-is-expensive.md @@ -0,0 +1,63 @@ +--- +title: Clinical Research is Expensive +description: It costs $1.6 billion to bring a drug to market (including failed attempts) and trials currently cost over $36k per participant. +emoji: 💰 +featuredImage: https://static.crowdsourcingcures.org/dfda/assets/cost-of-clinical-trials.png +--- + +# 💰 Clinical Research is Expensive + +#### The Cost of Clinical Research + +* It costs [$1.6 billion](https://jamanetwork.com/journals/jama/fullarticle/2762311) to bring a drug to market (including failed attempts). +* The process takes over 10 years. +* It costs [$36k](https://www.clinicalleader.com/doc/getting-a-handle-on-clinical-trial-costs-0001) per subject in Phase III clinical trials. +* Nearly 85% of clinical trials experience delays, costing [$600,000 to $8 million](https://www.businesswire.com/news/home/20220113005740/en/New-Study-Decentralized-Clinical-Trials-Can-Achieve-Net-Financial-Benefits-of-5X-to-14X-Due-to-Reduced-Trial-Timelines-and-Other-Factors) per day of delay. +* The mean cost of the clinical phase per drug candidate is estimated at [$117.4 million](https://jamanetwork.com/journals/jamanetworkopen/fullarticle/2820562). + +![clinicalresearch.io](https://static.crowdsourcingcures.org/dfda/assets/cost-of-clinical-trials.png) + +#### Detailed Cost Breakdown + +Current major cost centers in traditional clinical trials: + +* 🏥 Clinical Procedures: [$5.9M](https://aspe.hhs.gov/reports/examination-clinical-trial-costs-barriers-drug-development-0) for trial procedures +* 🏢 Site Overhead: [$7.4M](https://aspe.hhs.gov/reports/examination-clinical-trial-costs-barriers-drug-development-0) for operational costs +* 👥 Administrative Staff: [$7.2M](https://aspe.hhs.gov/reports/examination-clinical-trial-costs-barriers-drug-development-0) for trial management +* 📊 Site Monitoring: [$4.5M](https://aspe.hhs.gov/reports/examination-clinical-trial-costs-barriers-drug-development-0) for oversight +* 👨‍⚕️ Medical Staff: [$4.3M](https://aspe.hhs.gov/reports/examination-clinical-trial-costs-barriers-drug-development-0) combined for physicians and nurses +* 🧪 Laboratory Costs: [$2.3M](https://aspe.hhs.gov/reports/examination-clinical-trial-costs-barriers-drug-development-0) for tests and analysis +* 🔍 Source Data Verification: [$1.5M](https://aspe.hhs.gov/reports/examination-clinical-trial-costs-barriers-drug-development-0) for data validation + +These costs add up to over [$56 million](https://aspe.hhs.gov/reports/examination-clinical-trial-costs-barriers-drug-development-0) per trial, with additional miscellaneous expenses bringing the total even higher. + +#### Cost-Saving Opportunities in Current System + +* A 10% improvement in predicting failure before clinical trials could save [$100 million](https://drugwonks.com/blog/the-dog-days-of-drug-approvals) in development costs. +* Shifting 5% of clinical failures from Phase III to Phase I reduces out-of-pocket costs by [$15 to $20 million](https://drugwonks.com/blog/the-dog-days-of-drug-approvals). +* Shifting failures from Phase II to Phase I would reduce out-of-pocket costs by [$12 to $21 million](https://drugwonks.com/blog/the-dog-days-of-drug-approvals). + +## 💡 Solution: Decentralized Automated Clinical Trials + +With a decentralized autonomous FDA, we can automate clinical trials, reducing the cost and time it takes to bring new drugs to market. + +This could reduce the cost of clinical trials by [90% from $56 million to under $2.4 million](https://www.dfda.earth/#cost-savings) per treatment. + +#### Proven Benefits of Decentralization + +* In Phase II studies, decentralized clinical trials (DCT) produce a [400%](https://www.dfda.earth/#cost-savings) return on investment in trial cost reductions. +* In Phase III studies, decentralization shows an even more dramatic [1300%](https://www.dfda.earth/#cost-savings) return on investment. +* Patient recruitment timelines can be reduced from [12 months to 3 months](https://www.dfda.earth/#cost-savings) through at-home testing options. + +#### Specific Cost Reductions Through Automation + +* 🏥 Clinical Procedures: [Reduced to $1M](https://www.dfda.earth/#cost-savings) through existing healthcare infrastructure and automated scheduling +* 👨‍⚕️ Medical Staff: [Reduced to $250K](https://www.dfda.earth/#cost-savings) ($150K for nurses/research associates, $100K for physicians) with AI-assisted monitoring +* 🧪 Laboratory: [Reduced to $500K](https://www.dfda.earth/#cost-savings) using local labs and automated result reporting +* 💾 Data Management: [Reduced to $10K](https://www.dfda.earth/#cost-savings) through automated collection and AI analysis, with minimal human validation +* 🤝 Patient Recruitment: [Reduced to $15K](https://www.dfda.earth/#cost-savings) via EHR integration and automated matching +* ✅ IRB Approvals: [Reduced to $5K](https://www.dfda.earth/#cost-savings) with AI-generated protocols and built-in ethical considerations +* 📊 Site Monitoring: [Eliminated](https://www.dfda.earth/#cost-savings) through automated data monitoring and blockchain-like data integrity + +Most site-related costs (recruitment: $849K, retention: $4.5M, overhead: $7.4M) are completely eliminated in the decentralized model. The total cost reduction is from [$56 million to approximately $2 million](https://www.dfda.earth/#cost-savings) per trial, representing a 96% decrease in total trial costs. + diff --git a/problems/clinical-research-is-slow.md b/problems/clinical-research-is-slow.md new file mode 100644 index 00000000..65356b59 --- /dev/null +++ b/problems/clinical-research-is-slow.md @@ -0,0 +1,40 @@ +--- +title: Clinical Research is Slow +description: It takes an average of 17 years for new treatments to reach patients. +emoji: ⌛ +--- + +# ⌛ Clinical Research is Slow! + +It takes an average of [17 years](https://pmc.ncbi.nlm.nih.gov/articles/PMC3241518/) for medical research to translate into clinical practice and reach patients. This delay represents a critical failure in our healthcare system, leaving patients waiting for potentially life-saving treatments while researchers struggle with inefficient trial processes. + +## The Current Clinical Trial Bottleneck + +Traditional clinical trials face several challenges that contribute to this delay: + +1. **Recruitment Challenges**: Finding and enrolling suitable participants is time-consuming and expensive +2. **Geographic Limitations**: Patients must often travel to specific trial sites, limiting participation +3. **Bureaucratic Overhead**: Complex regulatory requirements slow down trial initiation and execution +4. **Data Collection Inefficiencies**: Manual data collection and paper-based processes increase errors and delays + +## The Promise of Decentralized Clinical Trials + +Decentralized clinical trials (DCTs) offer a revolutionary approach that could dramatically reduce the 17-year timeline: + +- **Instant Patient Access**: A modernized FDA.gov portal could allow patients to instantly join trials from anywhere +- **Remote Participation**: Patients could participate from home using telemedicine and wearable devices +- **Real-Time Data Collection**: Digital tools enable continuous, accurate data collection +- **Broader Diversity**: Geographic barriers are eliminated, enabling more representative trial populations + +## A Vision for the Future + +Imagine a world where: + +1. Patients can instantly find and join relevant trials through an improved FDA.gov portal +2. Real-time data from wearable devices automatically feeds into trial databases +3. AI-powered matching connects patients with the most appropriate trials +4. Decentralized systems maintain privacy while enabling global collaboration + +By implementing decentralized clinical trials through an improved FDA.gov platform, we could potentially reduce the 17-year timeline to just a few years, bringing life-saving treatments to patients faster than ever before. + +The time for change is now. Let's work together to create a clinical research system that puts patients first and accelerates medical progress. diff --git a/problems/deaths-due-to-us-regulatory-drug-lag.md b/problems/deaths-due-to-us-regulatory-drug-lag.md new file mode 100644 index 00000000..8cef4e74 --- /dev/null +++ b/problems/deaths-due-to-us-regulatory-drug-lag.md @@ -0,0 +1,53 @@ +--- +title: Deaths Due to US Regulatory Drug Lag +description: >- + Delays in new interventions cost anywhere from 21,000 to 120,000 US lives per decade. +emoji: ⏱ +featuredImage: https://static.crowdsourcingcures.org/dfda/assets/us-swiss-life-expectancy-drug-approvals.png +--- + +# ⏱ Deaths Due to US Regulatory "Drug Lag" + +**Delayed Life-Saving Treatments** + +One unanticipated consequence of the amendments was that the new burden of proof made the process of drug development both more expensive and much longer, leading to increasing drug prices and a “drug lag”. After that point, whenever they released some new cancer or heart medication that would save 50 thousand lives a year, it meant that over the previous ten years of trials, 500 people died because they didn't have access to the drug earlier. + +**Deaths Due to US Regulatory "Drug Lag"** + +A comparative analysis between countries suggests that delays in new interventions cost anywhere from [21,000 to 120, 000](https://www.fdareview.org/features/references/#gieringer85) US lives per decade. + +Deaths owing to drug lag have been numbered in the [hundreds of thousands](https://www.fdareview.org/features/references/#wardell78a). It's estimated that practolol, a drug in the beta-blocking family, could save ten thousand lives a year, if allowed in the United States. Although the FDA allowed the first beta-blocker, propranolol, in 1968, three years after that drug had been available in Europe, it waited until 1978 to allow propranolol to treat hypertension and angina pectoris, its most essential indications. Despite clinical evidence as early as 1974, only in 1981 did the FDA allow a second beta-blocker, timolol, to prevent a second heart attack. The agency’s withholding of beta-blockers was alone responsible for probably [tens of thousands of deaths](https://www.fdareview.org/features/references/#gieringer85). + +[Data](http://csdd.tufts.edu/databases) from the Tufts Center for the Study of Drug Development suggests that thousands of patients have died because of US regulatory delays relative to other countries, for new drugs and devices, including: + +* interleukin-2 +* Taxotere +* vasoseal +* ancrod +* Glucophage +* navelbine +* Lamictal +* ethyol +* photofrin +* rilutek +* citicoline +* panorex +* Femara +* ProStar +* omnicath + +Before US FDA approval, most of these drugs and devices had already been available in other countries for a year or longer. + +Following the 1962 increase in US regulations, one can see a divergence from Switzerland's growth in life expectancy, which did not introduce the same delays to availability. + +![US vs Swiss Life Expectancy](https://static.crowdsourcingcures.org/dfda/assets/us-swiss-life-expectancy-5.png) + +Perhaps it's a coincidence, but you can see an increase in drug approvals in the '80s. At the same time, the gap between Switzerland and the US gets smaller. Then US approvals go back down in the '90s, and the gap expands again. + +![US vs Swiss Life Expectancy](https://static.crowdsourcingcures.org/dfda/assets/us-swiss-life-expectancy-drug-approvals.png) + +**** + +**Increase in Patent Monopoly** + +Industry agitation surrounding the “drug lag” finally led to the modification of the drug patenting system in the Drug Price Competition and Patent Term Restoration Act of 1984. This further extended the life of drug patents. Thus Kefauver's amendments ultimately made drugs more expensive by granting longer monopolies. \ No newline at end of file diff --git a/problems/difficulty-participating.md b/problems/difficulty-participating.md new file mode 100644 index 00000000..687058d3 --- /dev/null +++ b/problems/difficulty-participating.md @@ -0,0 +1,34 @@ +--- +title: 90% of Willing Patients Do Not Participate in Clinical Trials +description: >- + A significant gap exists between the number of patients willing to participate in clinical trials and those who actually do. Studies indicate that while 68% of patients express interest in participating, only 9% report being invited to a clinical trial. +emoji: 🚧 +--- + +# 90% of Willing Patients Do Not Participate in Clinical Trials + +A significant gap exists between the number of patients willing to participate in clinical trials and those who actually do. Studies indicate that while 68% of patients express interest in participating, only 9% report being invited to a clinical trial. ([pmc.ncbi.nlm.nih.gov](https://pmc.ncbi.nlm.nih.gov/articles/PMC2664601), [pmc.ncbi.nlm.nih.gov](https://pmc.ncbi.nlm.nih.gov/articles/PMC8889234)) + +**Barriers to Participation** + +Several obstacles prevent willing patients from enrolling in clinical trials: + +- **Lack of Awareness**: Many patients are unaware of available clinical trials relevant to their condition. ([pmc.ncbi.nlm.nih.gov](https://pmc.ncbi.nlm.nih.gov/articles/PMC2664601)) + +- **Geographical Constraints**: Travel distance to trial sites is a significant barrier, especially for patients in rural or underserved areas. ([mdgroup.com](https://mdgroup.com/blog/distance-a-key-barrier-to-clinical-trial-access-decentralized-and-hybrid-trials)) + +- **Eligibility Criteria**: Strict inclusion and exclusion criteria can limit patient participation. + +- **Financial Burden**: Costs associated with travel, accommodation, and time off work can deter patients. ([skyelarke.com](https://www.skyelarke.com/breaking-down-barriers-to-clinical-trial-participation)) + +**Solutions Through a Global Automated Decentralized FDA Trial Platform** + +Implementing a global automated decentralized clinical trial platform and database can address these barriers: + +- **Enhanced Accessibility**: Decentralized trials utilize remote monitoring and data collection, reducing the need for physical site visits and making participation feasible for a broader population. ([pmc.ncbi.nlm.nih.gov](https://pmc.ncbi.nlm.nih.gov/articles/PMC10465321)) + +- **Improved Awareness**: A centralized database can inform patients and healthcare providers about ongoing trials, increasing awareness and enrollment. + +- **Flexible Participation**: Remote data collection allows patients to participate without the constraints of location, reducing geographical and financial barriers. + +By leveraging such a platform, we can bridge the gap between patient willingness and actual participation, making clinical trials more inclusive and efficient. \ No newline at end of file diff --git a/problems/fda-decisions-not-based-on-cost-benefit-analysis.md b/problems/fda-decisions-not-based-on-cost-benefit-analysis.md new file mode 100644 index 00000000..5457c590 --- /dev/null +++ b/problems/fda-decisions-not-based-on-cost-benefit-analysis.md @@ -0,0 +1,90 @@ +--- +title: Lack of Logical Reasoning Based on Quantitative Cost-Benefit Analysis in FDA Decisions +description: >- + FDA regulatory decisions often lack logical reasoning based on quantitative cost-benefit analysis. +emoji: 🤪 +--- + +# Lack of Logical Reasoning Based on Quantitative Cost-Benefit Analysis in FDA Decisions + +Ideally, the FDA would allow patients to access treatments if the potential benefits vastly exceeded their harms. Unfortunately, this is not the current policy. + +The most recent example of this is the FDA's decision to revoke the EUA for monoclonal antibodies (mAbs) and deny even an investigational use pathway, all while failing to establish a real-world monitoring system. + +This is a catastrophic failure in logic, equity, and risk management. + +Here's why: + +--- + +### **1. The “No Efficacy” Argument Fails Quantitatively** +- The FDA revoked mAbs because variants like Omicron rendered them less effective. However, "less effective" is not the same as "ineffective." +- **Example: Partial Efficacy in High-Risk Populations** + - If mAbs reduced hospitalization risk by 30% in a high-risk group (down from 85% in earlier variants), that’s still substantial. + - Consider 100,000 high-risk patients: a 30% reduction prevents 30,000 hospitalizations. At an average hospitalization cost of $20,000, this saves $600 million and countless lives. + - FDA-approved flu vaccines often hover around 40-60% efficacy—why the double standard here? + +--- + +### **2. The Cost of Doing Nothing** +- Long COVID affects an estimated 10-30% of COVID-19 cases, translating to millions of individuals with persistent symptoms, reduced productivity, and increased healthcare costs. + - **Economic Burden**: Long COVID is projected to cost the U.S. economy $3.7 trillion, per [[update](https://jheor.org/doi/full/10.5195/jheor.2023.1189) by David Cutler at Harvard Kennedy School](https://jheor.org/doi/full/10.5195/jheor.2023.1189). + - Allowing continued mAb use, even partially effective, could have mitigated this cascade. Assume just 5% fewer Long COVID cases from mAbs: that’s 185,000 fewer cases per million infections, potentially saving $370 billion in direct and indirect costs. + +--- + +### **3. Lack of a Monitoring Framework is Inexcusable** +- The technology to create real-time outcome tracking exists and is used in other areas: + - **Vaccine Adverse Event Reporting System (VAERS):** A public-facing system to monitor vaccine outcomes. + - **FDA Sentinel System:** Tracks real-world drug safety in near real-time. + - If the FDA can monitor millions of vaccine doses, why not apply this infrastructure to mAbs? It’s not a matter of capability but of bureaucratic inertia. +- **Cost Estimate**: Developing and maintaining a monitoring system could cost $10-20 million annually, a negligible amount compared to the potential healthcare savings from even modest improvements in treatment outcomes. + +--- + +### **4. Ethics and Equity: Who Really Lost Out?** +- Revoking access disproportionately harmed the most vulnerable: + - **Immunocompromised patients** (~3% of U.S. population): These individuals rely on mAbs for passive immunity because vaccines are often ineffective for them. [[CDC](https://www.cdc.gov/coronavirus/2019-ncov/hcp/clinical-considerations/covid-19-immunocompromised-patients.html)] + - **Rural and Low-Income Populations**: With fewer treatment options and less access to advanced care, mAbs were often their only line of defense. +- Meanwhile, reports of elites and private clinics holding onto mAb stockpile—thanks to opaque policies—underscore the inequity of the decision. + +--- + +### **5. What’s the Real Risk of Continued Use?** +- The FDA cited safety concerns. But how does the risk of mAbs (e.g., infusion reactions) compare to untreated COVID outcomes? + - Risk of severe infusion reactions from mAbs is ~0.2%. [[JAMA Network](https://jamanetwork.com/journals/jama/fullarticle/2777081)] + - Risk of hospitalization or death for high-risk COVID patients is 10-20% without treatment. [[Yale Medicine](https://www.yalemedicine.org/news/paxlovid-is-beneficial-for-high-risk-acute-covid-19-patients-study-suggests)] + - **Risk-Benefit Ratio**: The potential harm from withholding mAbs far outweighs the risks of continued use, especially with informed consent. + +--- + +### **6. Bureaucracy Over Innovation** +- The FDA’s decision reflects a systemic failure to adapt: + - **Alternative Approaches Ignored**: They could have: + - Offered "compassionate use" pathways. + - Paired mAbs with antivirals for synergistic effects. + - Developed next-gen mAbs targeting conserved viral regions. + - **Missed Opportunity for Transparency**: A website tracking outcomes could have restored public trust and ensured equitable distribution. + +--- + +### **Long Story Short** +By failing to account for partial efficacy, long-term economic costs, the FDA prioritized bureaucratic neatness over human lives. A rational approach would have balanced risks and benefits: +1. Continue mAbs under investigational use with informed consent. +2. Deploy a real-world outcomes monitoring system for $10-20 million annually. +3. Avoid compounding Long COVID’s $3.7 trillion economic toll by mitigating even a fraction of cases. + +Instead, this decision highlights the FDA’s inability to pivot during a crisis, ultimately costing lives, trust, and billions in preventable suffering. This wasn’t just regulatory myopia—it was institutional malpractice. + +--- + +## Sources +- 30%: If mAbs reduced hospitalization risk by **30%** in a high-risk group (down from 85% in earlier variants), that’s still substantial. [https://www.yalemedicine.org/news/5-things-to-know-omicron](https://www.yalemedicine.org/news/5-things-to-know-omicron) +- $600 million: At an average hospitalization cost of $20,000, this saves **$600 million** and countless lives. [https://www.healthcare.gov/why-coverage-is-important/protection-from-high-medical-costs/](https://www.healthcare.gov/why-coverage-is-important/protection-from-high-medical-costs/) +- 40-60%: FDA-approved flu vaccines often hover around **40-60% efficacy**—why the double standard here? [https://www.ama-assn.org/delivering-care/public-health/8-things-doctors-wish-patients-knew-about-flu-vaccines](https://www.ama-assn.org/delivering-care/public-health/8-things-doctors-wish-patients-knew-about-flu-vaccines) +- 10-30%: Long COVID affects an estimated **10-30%** of COVID-19 cases, translating to millions of individuals with persistent symptoms, reduced productivity, and increased healthcare costs. [https://www.nature.com/articles/s41579-022-00846-2](https://www.nature.com/articles/s41579-022-00846-2) +- $3.7 trillion: Long COVID is projected to cost the U.S. economy **$3.7 trillion**, per [[update](https://jheor.org/doi/full/10.5195/jheor.2023.1189) by David Cutler at Harvard Kennedy School](https://jheor.org/doi/full/10.5195/jheor.2023.1189) +- $10-20 million annually: Developing and maintaining a monitoring system could cost **$10-20 million annually**, a negligible amount compared to the potential healthcare savings from even modest improvements in treatment outcomes. [https://kpwashingtonresearch.org/index.php/news-and-events/recent-news/news-2019/fda-commits-220-million-next-phase-drug-safety-monitoring-system](https://kpwashingtonresearch.org/index.php/news-and-events/recent-news/news-2019/fda-commits-220-million-next-phase-drug-safety-monitoring-system) +- ~3%: **Immunocompromised patients** (**~3%** of U.S. population): These individuals rely on mAbs for passive immunity because vaccines are often ineffective for them. [https://www.cdc.gov/coronavirus/2019-ncov/hcp/clinical-considerations/covid-19-immunocompromised-patients.html](https://www.cdc.gov/coronavirus/2019-ncov/hcp/clinical-considerations/covid-19-immunocompromised-patients.html) +- ~0.2%: Risk of severe infusion reactions from mAbs is **~0.2%**. [https://jamanetwork.com/journals/jama/fullarticle/2777081](https://jamanetwork.com/journals/jama/fullarticle/2777081) +- 10-20%: Risk of hospitalization or death for high-risk COVID patients is **10-20%** without treatment. [https://www.yalemedicine.org/news/paxlovid-is-beneficial-for-high-risk-acute-covid-19-patients-study-suggests](https://www.yalemedicine.org/news/paxlovid-is-beneficial-for-high-risk-acute-covid-19-patients-study-suggests) diff --git a/problems/negative-results-are-never-published.md b/problems/negative-results-are-never-published.md index b06f7e62..689136d4 100644 --- a/problems/negative-results-are-never-published.md +++ b/problems/negative-results-are-never-published.md @@ -1,13 +1,12 @@ --- -title: 🙈 Negative Results are Never Published -description: A global database of treatments and outcomes could provide information that could avoid massive waste on failed trials. -published: true -date: 2022-08-18T08:01:06.813Z -tags: -editor: markdown -dateCreated: 2022-07-22T19:03:49.643Z +title: Negative Results are Never Published +description: >- + We waste billions of dollars repeating failed drug trials because companies only publish the positive results. +emoji: 🙈 --- +# 🙈 Negative Results are Never Published + Selective publishing can prevent the rapid spread of beneficial treatments or interventions, but more commonly it means that bad news and failure of medical interventions go unpublished. Past analysis of clinical trials supporting new drugs approved by the FDA showed that just [43 percent of more than 900 trials on 90 new drugs](https://www.livescience.com/8365-dark-side-medical-research-widespread-bias-omissions.html) ended up being published. In other words, about 60 percent of the related studies remained unpublished even five years after the FDA had approved the drugs for market. That meant physicians were prescribing the drugs and patients were taking them without full knowledge of how well the treatments worked. This leads to a massive waste of money by other companies repeating the same research and going down the same dead-end streets that could have been avoided. diff --git a/problems/no-comparative-effectiveness-rankings.md b/problems/no-comparative-effectiveness-rankings.md new file mode 100644 index 00000000..d41774ce --- /dev/null +++ b/problems/no-comparative-effectiveness-rankings.md @@ -0,0 +1,43 @@ +--- +title: No Treatment Effectiveness Rankings +description: >- + Shockingly, the existing system does not give us a ranked list of the most safe and effective treatments for a given condition. +emoji: 📊 +--- + +# 📊 No Treatment Effectiveness Rankings + +Placebo-controlled randomized controlled trials (RCTs) have long been the gold standard for evaluating new treatments. However, this approach has significant limitations when it comes to determining how treatments compare to each other in real-world settings. + +## Problems with Placebo-Controlled Trials +1. **Decreased Ability to Determine Comparative Efficacy** + While placebo-controlled trials help establish a drug's efficacy compared to no treatment, they make it difficult to determine how it compares to existing therapies. This leaves clinicians and patients without clear guidance on which treatment might work best for their specific situation. + +2. **Limited Generalizability** + RCTs often use strict inclusion criteria that may exclude important patient populations, making results less applicable to real-world practice [source](https://pmc.ncbi.nlm.nih.gov/articles/PMC6223979/). + +3. **High Costs and Time Constraints** + The rigorous requirements of placebo-controlled trials make them expensive and time-consuming, potentially delaying access to effective treatments. + +## Benefits of Comparative Effectiveness Trials +1. **Real-World Relevance** + Comparative effectiveness trials provide direct comparisons between treatments, offering more practical information for clinical decision-making [source](https://bmcmedicine.biomedcentral.com/articles/10.1186/s12916-018-1038-2). + +2. **Broader Patient Populations** + These trials often include more diverse patient groups, better reflecting the populations that will actually use the treatments. + +3. **Cost-Effectiveness Data** + Comparative trials can provide valuable information about the cost-effectiveness of different treatment options. + +## The Role of Real-World Data +1. **Complementing Traditional Trials** + Real-world evidence from observational studies can supplement RCT data, particularly for understanding long-term outcomes and rare side effects [source](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6033114/). + +2. **Pragmatic Trial Designs** + Pragmatic trials that incorporate real-world data help bridge the gap between research and clinical practice [source](https://www.nejm.org/doi/full/10.1056/NEJMra1510059). + +3. **Regulatory Acceptance** + The FDA is increasingly recognizing the value of real-world evidence in regulatory decision-making [source](https://www.fda.gov/media/120060/download). + +## Conclusion +While placebo-controlled trials remain important for establishing initial efficacy, the future of medical research lies in combining their strengths with comparative effectiveness research and real-world data. This approach will provide more comprehensive, practical information to guide treatment decisions and improve patient outcomes. diff --git a/problems/no-data-on-unpatentable-molecules.md b/problems/no-data-on-unpatentable-molecules.md index 8eb04701..4ad70bed 100644 --- a/problems/no-data-on-unpatentable-molecules.md +++ b/problems/no-data-on-unpatentable-molecules.md @@ -1,16 +1,18 @@ --- -title: 🥫 No Data on Unpatentable Molecules -description: We still know next to nothing about the long-term effects of 99.9% of the 4 pounds of over 7,000 different synthetic or natural chemicals you consume every day. -published: true -date: 2022-07-31T16:48:00.375Z -tags: -editor: markdown -dateCreated: 2022-07-22T19:03:54.146Z +title: No Data on Unpatentable Treatments +description: >- + We still know next to nothing about the long-term effects of 99.9% of the 4 + pounds of over 7,000 different synthetic or natural chemicals you consume + every day. +emoji: 🥫 +featuredImage: https://static.crowdsourcingcures.org/dfda/assets/how-much-we-know (1) (1) (1).png --- +# 🥫 No Data on Unpatentable Treatments + Under the current system of research, it costs [$41k](https://www.clinicalleader.com/doc/getting-a-handle-on-clinical-trial-costs-0001) per subject in Phase III clinical trials. As a result, there is not a sufficient profit incentive for anyone to research the effects of any factor besides a molecule that can be patented. -![how much we know](../assets/how-much-we-know (6).png) +![how much we know]() **Lack of Incentive to Discover the Full Range of Applications for Off-Patent Treatments** diff --git a/problems/no-long-term-outcome-data.md b/problems/no-long-term-outcome-data.md index b47e645a..44d8c128 100644 --- a/problems/no-long-term-outcome-data.md +++ b/problems/no-long-term-outcome-data.md @@ -1,13 +1,12 @@ --- -title: 🗓 No Long-Term Outcome Data -description: Using centralized trials, it's not financially feasible to collect data on a participant for years or decades. -published: true -date: 2022-08-18T08:00:18.152Z -tags: -editor: markdown -dateCreated: 2022-07-22T19:04:03.303Z +title: No Long-Term Outcome Data +description: >- + Current trials often only last a few months, so we have no idea what the long-term positive or negative effects of a drug are! +emoji: 🗓 --- +# 🗓 No Long-Term Outcome Data + Even if there is a financial incentive to research a new drug, there is no data on the long-term outcomes of the drug. The data collection period for participants can be as short as several months. Under the current system, it's not financially feasible to collect data on a participant for years or decades. So we have no idea if the long-term effects of a drug are worse than the initial benefits. For instance, even after controlling for co-morbidities, the Journal of American Medicine recently found that long-term use of Benadryl and other anticholinergic medications is associated with an [increased](https://jamanetwork.com/journals/jamainternalmedicine/fullarticle/2091745) risk for dementia and Alzheimer's disease. diff --git a/problems/people-with-rare-disease-are-severely-punished.md b/problems/people-with-rare-disease-are-severely-punished.md new file mode 100644 index 00000000..9b8f04c0 --- /dev/null +++ b/problems/people-with-rare-disease-are-severely-punished.md @@ -0,0 +1,18 @@ +--- +title: People With Rare Disease are Severely Punished +description: >- + It's impossible to recover a billion dollars of drug development from a small + number of patients. +emoji: 🤒 +--- + +# 🤒 People With Rare Disease are Severely Punished + +In the case of rare diseases, increasing the cost of treatment development to over a billion makes it impossible to recover your investment from a small number of patients. So rare disease patients suffer the most severe harm from the added regulatory burden on development. + +## Rare Disease Statistics + +- There are more than 7,000 known rare diseases affecting between 25-30 million Americans ([National Institutes of Health](https://rarediseases.org/wp-content/uploads/2019/01/RDD-FAQ-2019.pdf)) +- Globally, rare diseases affect 400 million people worldwide ([Global Genes](https://globalgenes.org/rare-disease-facts/)) +- Only a few hundred rare diseases have safe, effective treatments ([National Center for Advancing Translational Sciences](http://ncats.nih.gov/research/our-impact/our-impact-rare-diseases)) +- The average time to diagnose a rare disease is 4.8 years, with patients seeing an average of 7.3 physicians before receiving a correct diagnosis ([National Organization for Rare Disorders](https://rarediseases.org/understanding-rare-disease/rare-disease-facts-and-statistics/)) diff --git a/problems/pre-determining-clinical-endpoints-requires-psychic-powers.md b/problems/pre-determining-clinical-endpoints-requires-psychic-powers.md index 5623125c..9a484d2d 100644 --- a/problems/pre-determining-clinical-endpoints-requires-psychic-powers.md +++ b/problems/pre-determining-clinical-endpoints-requires-psychic-powers.md @@ -1,13 +1,13 @@ --- -title: 🔮 Pre-Determining Clinical Endpoints Requires Psychic Powers -description: Current Regulation Expects Drug Developers to Have Psychic Powers Needed to Pre-Determine Very Specific Clinical Endpoints Before Collecting Data -published: true -date: 2022-08-18T07:59:46.640Z -tags: -editor: markdown -dateCreated: 2022-07-22T19:04:07.579Z +title: Pre-Determining Clinical Endpoints Requires Psychic Powers +description: >- + Drug Developers to Have Psychic Powers Needed to + Pre-Determine Very Specific Clinical Endpoints Before Collecting Data +emoji: 🔮 --- +# 🔮 Failure to Identify All Treatable Conditions + When running an efficacy trial, the FDA expects that the drug developer has the psychic ability to predict which conditions a treatment will be most effective for in advance of collecting the human trial data. If it was possible to magically determine this without any trials, it would render efficacy trials completely pointless. In 2007, manufacturer Dendreon submitted powerful evidence attesting to the safety and efficacy of its immunotherapy drug Provenge, which targets prostate cancer. They were able to show that the drug resulted in a significant decline in deaths among its study population, which even persuaded the FDA advisory committee to weigh in on the application. But ultimately, the FDA rejected its application. diff --git a/problems/statistics/cost-per-participant.md b/problems/statistics/cost-per-participant.md new file mode 100644 index 00000000..ee0ff95a --- /dev/null +++ b/problems/statistics/cost-per-participant.md @@ -0,0 +1,10 @@ +--- +number: $41k +textFollowingNumber: "cost per participant in traditional clinical trials" +title: "Clinical Trials Cost $41,413 Per Trial Participant" +description: "The cost per participant in clinical trials is a staggering $41,413" +emoji: "👥" +featuredImage: "cost-per-participant.jpg" +source: "https://clinicalresearch.io/blog/running-a-study/cost-of-clinical-trials-breakdown/" +--- +The average cost per participant in a clinical trial is $41,413, according to a [study published in PMC](https://pmc.ncbi.nlm.nih.gov/articles/PMC7295430/). You can see a breakdown of clinical trial costs in this [detailed cost breakdown analysis](https://clinicalresearch.io/blog/running-a-study/cost-of-clinical-trials-breakdown/). diff --git a/problems/statistics/cost-per-treatment.md b/problems/statistics/cost-per-treatment.md new file mode 100644 index 00000000..00b3567a --- /dev/null +++ b/problems/statistics/cost-per-treatment.md @@ -0,0 +1,13 @@ +--- +number: $1.6 Billion +textFollowingNumber: "cost to develop a new treatment falls on patients" +title: "$1.6 Billion Per New Treatment Falls on Patients" +description: "The total cost passed to patients for each new medical treatment developed" +emoji: "💸" +featuredImage: "cost-per-treatment.jpg" +source: "https://www.genengnews.com/gen-edge/the-unbearable-cost-of-drug-development-deloitte-report-shows-15-jump-in-rd-to-2-3-billion/" +--- + +The development of each new medical treatment results in [$1.6 billion](https://jamanetwork.com/journals/jama/fullarticle/2762311) in costs ultimately transferred to patients. This figure represents the total development costs distributed across the patient population through medical bills and insurance premiums. + +[Source: GEN Edge - The Unbearable Cost of Drug Development](https://www.genengnews.com/gen-edge/the-unbearable-cost-of-drug-development-deloitte-report-shows-15-jump-in-rd-to-2-3-billion/) diff --git a/problems/statistics/deaths-due-to-drug-lag.md b/problems/statistics/deaths-due-to-drug-lag.md new file mode 100644 index 00000000..b497e1ae --- /dev/null +++ b/problems/statistics/deaths-due-to-drug-lag.md @@ -0,0 +1,20 @@ +--- +number: "120,000 Deaths/Decade" +textFollowingNumber: "due to regulatory delays" +title: "120,000 US Deaths Per Decade Due to Drug Lag" +description: "Delays in FDA drug approvals compared to other countries result in up to 120,000 preventable deaths per decade" +emoji: "☠️" +featuredImage: "https://static.crowdsourcingcures.org/dfda/assets/us-swiss-life-expectancy-drug-approvals.png" +--- + +FDA delays in approving new drugs and treatments that are already available in other countries result in up to 120,000 preventable deaths per decade in the United States. This "drug lag" occurs when life-saving medications are available to patients in other countries years before US patients can access them. + +## Impact + +* Beta-blockers alone caused tens of thousands of preventable deaths +* Many critical drugs face 1+ year delays compared to other countries +* Affects treatments for cancer, heart disease, and other serious conditions + +## Sources +- [FDA Review - Drug Lag Analysis](https://www.fdareview.org/features/references/#gieringer85) +- [Tufts Center for the Study of Drug Development](http://csdd.tufts.edu/databases) \ No newline at end of file diff --git a/problems/statistics/percent-excluded-from-trials.md b/problems/statistics/percent-excluded-from-trials.md new file mode 100644 index 00000000..8370eff5 --- /dev/null +++ b/problems/statistics/percent-excluded-from-trials.md @@ -0,0 +1,44 @@ +--- +number: 85% +textFollowingNumber: "of patients are unable to participate in clinical trials" +title: "85% of Willing Participants Excluded from Trials" +description: "Clinical trials often exclude as much as 85% of patients so they don't tell us if the drug will work for the majority of patients." +emoji: "🚫" +featuredImage: "https://static.crowdsourcingcures.org/dfda/assets/wellbutrin-effectiveness-small-sample-size.png" +--- + +# 🥸 Trials Often Aren't Representative of Real Patients + +External validity is the extent to which the results can be generalized to a population of interest. The population of interest is usually defined as the people the intervention is intended to help. + +Phase III clinical trials are often designed to exclude a vast majority of the population of interest. In these cases, the subjects of the drug trials are not representative of the prescribed recipients, once said drugs are approved. One investigation found that only [14.5% of patients with major depressive disorder](https://www.ncbi.nlm.nih.gov/pubmed/14628985) fulfilled eligibility requirements for enrollment in an antidepressant efficacy trial. + +As a result, the results of these trials are not necessarily generalizable to patients matching any of these criteria: + +* Suffer from multiple mental health conditions (e.g., post-traumatic stress disorder, generalized anxiety disorder, bipolar disorder, etc.) +* Engage in drug or alcohol abuse +* Suffer from mild depression (Hamilton Rating Scale for Depression (HAM-D) score below the specified minimum) +* Use other psychotropic medications + +These facts call into question the external validity of standard efficacy trials. + +Furthermore, patient sample sizes are very small. The number of subjects per trial on average according to the [NIH study on clinical trials](https://www.ncbi.nlm.nih.gov/books/NBK50886/): + +* 275 patients are sought per cardiovascular trial +* 20 patients per cancer trial +* 70 patients per depression trial +* 100 per diabetes trial + +![wellbutrin small sample size](https://static.crowdsourcingcures.org/dfda/assets/wellbutrin-effectiveness-small-sample-size.png) + +In the example in the graphic above, a drug is prescribed to millions of patients based on a study with only 36 subjects, where a representation of the general public is questionable. + +### **Solution: Collect Data on Actual Patients** + +In the real world, no patient can be excluded. Even people with a history of drug or alcohol abuse, people on multiple medications, and people with multiple conditions must be treated. Only through the crowdsourcing of this research, would physicians have access to the true effectiveness rates and risks for their real-world patients. + +The results of crowdsourced studies would exhibit complete and utter external validity, since the test subjects are identical to the population of interest. + +Furthermore, self-trackers represent a massive pool of potential subjects, dwarfing any traditional trial cohort. Diet tracking is the most arduous form of self-tracking. Yet, just one of the many available diet tracking apps, **MyFitnessPal,** has 30 million users. + +Tracking any variable in isolation is nearly useless in that it cannot provide the causal which can be derived from combining data streams. Hence, this 30 million user cohort is a small fraction of the total possible [stratifiable population](https://en.wikipedia.org/wiki/Stratified_sampling) base. diff --git a/problems/statistics/percent-of-diseases-with-fda-approved-treatments.md b/problems/statistics/percent-of-diseases-with-fda-approved-treatments.md new file mode 100644 index 00000000..d733f1c1 --- /dev/null +++ b/problems/statistics/percent-of-diseases-with-fda-approved-treatments.md @@ -0,0 +1,23 @@ +--- +number: 95% +textFollowingNumber: "of diseases have NO FDA-approved treatments" +title: "95% of Diseases Have NO FDA-Approved Treatments" +description: "Only 5% of diseases have FDA-approved treatments, leaving millions without effective therapies" +emoji: "💊" +featuredImage: "fda-treatments.jpg" +--- + +Despite significant advances in medical research, only about 5% of diseases have FDA-approved treatments. This means that [95% of diseases](https://ncats.nih.gov/sites/default/files/NCATS_RareDiseasesFactSheet.pdf), affecting millions of patients worldwide, lack approved therapies. + +The FDA approved [55 drugs in 2023](https://www.fda.gov/drugs/novel-drug-approvals-fda/novel-drug-approvals-2023), but many were for conditions that **already had treatments** + + +## Impact + +- Many patients rely on off-label treatments or experimental therapies +- The rest just suffer ☹️ + +## Sources +- [GAO Report on Drug Development](https://www.gao.gov/products/gao-25-106774) +- [FDA Information on Disease](https://www.fda.gov/patients/rare-diseases-fda) + diff --git a/problems/statistics/time-to-treatment.md b/problems/statistics/time-to-treatment.md new file mode 100644 index 00000000..61e873a7 --- /dev/null +++ b/problems/statistics/time-to-treatment.md @@ -0,0 +1,27 @@ +--- +number: 17 years +textFollowingNumber: "of suffering until a new treatment reaches patients" +title: "17 Years of Suffering Until a New Treatment Reaches Patients" +description: "On average, it takes 17 years for medical research to translate into clinical practice and reach patients" +emoji: "🤒" +featuredImage: "years-of-suffering.jpg" +--- + +From initial research to clinical practice, new medical treatments take an average of [17 years](https://pmc.ncbi.nlm.nih.gov/articles/PMC3241518/) to complete the development process and reach patients. This lengthy timeline is due to several critical bottlenecks in traditional clinical trials: + +* Patient recruitment challenges +* Geographic limitations requiring travel to specific trial sites +* Bureaucratic overhead and complex regulatory requirements +* Inefficient manual data collection processes + +## Impact on Patient Lives + +This extensive timeline means: +* Patients endure nearly two decades of waiting for potentially life-saving treatments +* Many patients may not survive long enough to benefit from new treatments +* Medical progress is severely bottlenecked by process inefficiencies + +Sources: +- [NIH - PMC Article on Research Translation](https://pmc.ncbi.nlm.nih.gov/articles/PMC3241518/) +- [Nature - Drug Development Timeline Analysis](https://www.nature.com/articles/d41586-023-03172-6) +- [BioStock - The Four Phases of Drug Development](https://www.biostock.se/en/2023/01/drug-development-the-four-phases/) diff --git a/problems/statistics/treatments-tested.md b/problems/statistics/treatments-tested.md new file mode 100644 index 00000000..de283db1 --- /dev/null +++ b/problems/statistics/treatments-tested.md @@ -0,0 +1,27 @@ +--- +number: "166 billion" +textFollowingNumber: "potential treatments have not been tested" +title: "166 billion potential treatments have not been tested" +description: "The vast number of potential drug combinations that exist, compared to the limited number that have been tested" +emoji: "⚛️" +featuredImage: "treatments-tested.jpg" +--- +We're only 2 lifetimes from the use of the modern scientific method in medicine. Thus, it's only been applied for 0.0001% of human history. The more clinical research studies we read, the more we realize we don't know. Nearly every study ends with the phrase, "More research is needed." We know basically nothing at this point compared to what will eventually be known about the human body. + +There are over [7,000 known diseases](https://www.washingtonpost.com/news/fact-checker/wp/2016/11/17/are-there-really-10000-diseases-and-500-cures/) afflicting humans. + +![](https://static.crowdsourcingcures.org/dfda/assets/rare-diseases.jpg) + +There are as many untested compounds with drug-like properties as there are [atoms in the solar system (166 billion)](https://www.nature.com/articles/549445a). + +![]() + +If you multiply the number of molecules with drug-like properties by the number of diseases, that's 1,162,000,000, 000,000 combinations. So far we've studied [only 21,000 compounds](https://www.centerwatch.com/articles/12702-new-mit-study-puts-clinical-research-success-rate-at-14-percent). + +That means we only know 0.000000002% of what is left to be known. + +The currently highly restrictive, overly cautious method of clinical research prevents us from knowing more faster. + +We're at the very beginning of thousands or millions of years of systematic discovery. So it's unlikely that this decline in lifespan growth is the result of diminishing returns due to our running out of things to discover. + +However, to validate the theory that large-scale real-world evidence can produce better health outcomes requires further validation of this method of experimentation. That's the purpose of dFDA. \ No newline at end of file diff --git a/problems/statistics/uncured-people.md b/problems/statistics/uncured-people.md new file mode 100644 index 00000000..9187f666 --- /dev/null +++ b/problems/statistics/uncured-people.md @@ -0,0 +1,12 @@ +--- +number: 2 Billion +textFollowingNumber: "people are suffering from uncured diseases" +title: "2 Billion People With Uncured Diseases" +description: "An estimated two billion people worldwide live with chronic diseases and rare conditions that currently have no cure" +emoji: "🌍" +featuredImage: "uncured-people.jpg" +--- + +An estimated two billion people globally suffer from chronic diseases and rare conditions without cures, representing approximately 25% of the world population. This includes both non-communicable diseases (NCDs) and rare genetic disorders. + +[Source: WHO - Noncommunicable Diseases Fact Sheet](https://www.who.int/news-room/fact-sheets/detail/noncommunicable-diseases) diff --git a/problems/statistics/years-since-last-cure.md b/problems/statistics/years-since-last-cure.md new file mode 100644 index 00000000..d4484af1 --- /dev/null +++ b/problems/statistics/years-since-last-cure.md @@ -0,0 +1,22 @@ +--- +number: 44 years +textFollowingNumber: "since we last cured a disease" +title: "44 Years Since Last Cure" +description: "The medical research community has not discovered a complete cure for any disease since 1980" +emoji: "🧫" +featuredImage: "years-since-last-cure.jpg" +--- + +The last time medical science discovered a complete cure for a disease was in 1980, when the [World Health Organization declared smallpox eradicated](https://www.who.int/health-topics/smallpox). This represents a significant gap in breakthrough medical cures, despite continued research and development in the pharmaceutical industry. + +While there have been significant advances in treatments and vaccines for many diseases since 1980, complete cures that eliminate diseases entirely remain elusive. The last disease to be eradicated was smallpox, achieved through a global vaccination campaign. + +Several factors contribute to the slow pace of developing cures: + +1. **Profitability Challenges**: Pharmaceutical companies often [prioritize treatments over cures](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7872909/) because chronic treatments provide ongoing revenue streams, while cures are one-time treatments. This creates a financial disincentive for developing curative therapies. + +2. **High Development Costs**: Developing new cures requires significant investment in research and clinical trials, with no guarantee of success. The [average cost to develop a new drug](https://www.cbo.gov/publication/57126) is estimated at $1.6 billion, with only about 12% of drugs that enter clinical trials ultimately gaining FDA approval. + +3. **Regulatory Hurdles**: Strict safety and efficacy requirements, while necessary, can slow down the approval process for new cures. The [average time from discovery to market approval](https://www.cbo.gov/publication/57126) is 10-15 years, with clinical trials alone taking 6-7 years on average. + +4. **Rare Disease Focus**: Many potential cures target rare diseases, which have smaller patient populations and may be considered [unprofitable without government incentives](https://www.cbo.gov/publication/57126) like the Orphan Drug Act, which provides tax credits and market exclusivity for rare disease treatments. diff --git a/problems/trials-often-arent-representative-of-real-patients.md b/problems/trials-often-arent-representative-of-real-patients.md new file mode 100644 index 00000000..523b37bc --- /dev/null +++ b/problems/trials-often-arent-representative-of-real-patients.md @@ -0,0 +1,47 @@ +--- +title: Trials Often Aren't Representative of Real Patients +description: >- + Clinical trials often exclude as much as 85% of patients so they don't tell us if the drug will work for the majority of patients. +emoji: 🥸 +featuredImage: https://static.crowdsourcingcures.org/dfda/assets/wellbutrin-effectiveness-small-sample-size.png +--- + +# 🥸 Trials Often Aren't Representative of Real Patients + +External validity is the extent to which the results can be generalized to a population of interest. The population of interest is usually defined as the people the intervention is intended to help. + +Phase III clinical trials are often designed to exclude a vast majority of the population of interest. In these cases, the subjects of the drug trials are not representative of the prescribed recipients, once said drugs are approved. One investigation found that only [14.5%](https://www.ncbi.nlm.nih.gov/pubmed/14628985) of patients with major depressive disorder fulfilled eligibility requirements for enrollment in an antidepressant efficacy trial. + +As a result, the results of these trials are not necessarily generalizable to patients matching any of these criteria: + +* Suffer from multiple mental health conditions (e.g., post-traumatic stress disorder, generalized anxiety disorder, bipolar disorder, etc.) +* Engage in drug or alcohol abuse +* Suffer from mild depression (Hamilton Rating Scale for Depression (HAM-D) score below the specified minimum) +* Use other psychotropic medications + +These facts call into question the external validity of standard efficacy trials. + +Furthermore, patient sample sizes are very small. The number of subjects per trial on average: + +* [275](https://www.ncbi.nlm.nih.gov/books/NBK50886/) patients are sought per cardiovascular trial +* [20](https://www.ncbi.nlm.nih.gov/books/NBK50886/) patients per cancer trial +* [70](https://www.ncbi.nlm.nih.gov/books/NBK50886/) patients per depression trial +* [100](https://www.ncbi.nlm.nih.gov/books/NBK50886/) per diabetes trial + +![wellbutrin small sample size](https://static.crowdsourcingcures.org/dfda/assets/wellbutrin-effectiveness-small-sample-size.png) + +In the example in the graphic above, a drug is prescribed to millions of patients based on a study with only 36 subjects, where a representation of the general public is questionable. + +### **Solution: Collect Data on Actual Patients** + +In the real world, no patient can be excluded. Even people with a history of drug or alcohol abuse, people on multiple medications, and people with multiple conditions must be treated. Only through the crowdsourcing of this research, would physicians have access to the true effectiveness rates and risks for their real-world patients. + +The results of crowdsourced studies would exhibit complete and utter external validity, since the test subjects are identical to the population of interest. + +Furthermore, self-trackers represent a massive pool of potential subjects, dwarfing any traditional trial cohort. Diet tracking is the most arduous form of self-tracking. Yet, just one of the many available diet tracking apps, **MyFitnessPal,** has 30 million users. + +Tracking any variable in isolation is nearly useless in that it cannot provide the causal which can be derived from combining data streams. Hence, this 30 million user cohort is a small fraction of the total possible [stratifiable](https://en.wikipedia.org/wiki/Stratified\_sampling) base. + +Sources: +- [Exclusion Criteria](https://www.ncbi.nlm.nih.gov/pubmed/14628985) +- [Sample Size](https://www.ncbi.nlm.nih.gov/books/NBK50886/) diff --git a/problems/we-know-nothing.md b/problems/we-know-nothing.md new file mode 100644 index 00000000..84e57243 --- /dev/null +++ b/problems/we-know-nothing.md @@ -0,0 +1,28 @@ +--- +title: We Know Next to Nothing +description: There are thousands of diseases and trillions of compounds with drug-like properties, but we've only studied 0.000000002% of potential treatments so far. +emoji: ❓ +featuredImage: https://static.crowdsourcingcures.org/dfda/assets/number-of-molecules-with-drug-like-properties.png +--- + +# ❓ We Know Next to Nothing + +We’re only 2 lifetimes from the use of the modern scientific method in medicine. Thus, it's only been applied for 0.0001% of human history. The more clinical research studies we read, the more we realize we don’t know. Nearly every study ends with the phrase, "More research is needed." We know basically nothing at this point compared to what will eventually be known about the human body. + +There are over [7,000](https://www.washingtonpost.com/news/fact-checker/wp/2016/11/17/are-there-really-10000-diseases-and-500-cures/) known diseases afflicting humans. + +![](https://static.crowdsourcingcures.org/dfda/assets/rare-diseases.jpg) + +There are as many untested compounds with drug-like properties as there are [atoms in the solar system](https://www.nature.com/articles/549445a) (166 billion). + +![]() + +If you multiply the number of molecules with drug-like properties by the number of diseases, that's 1,162,000,000, 000,000 combinations. So far we've studied [21,000 compounds](https://www.centerwatch.com/articles/12702-new-mit-study-puts-clinical-research-success-rate-at-14-percent). + +That means we only know 0.000000002% of what is left to be known. + +The currently highly restrictive, overly cautious method of clinical research prevents us from knowing more faster. + +We’re at the very beginning of thousands or millions of years of systematic discovery. So it’s unlikely that this decline in lifespan growth is the result of diminishing returns due to our running out of things to discover. + +However, to validate the theory that large-scale real-world evidence can produce better health outcomes requires further validation of this method of experimentation. That's the purpose of dFDA. diff --git a/reference/Research-and-Development-in-the-Pharmaceutical-Industry.md b/reference/Research-and-Development-in-the-Pharmaceutical-Industry.md new file mode 100644 index 00000000..1d50ddae --- /dev/null +++ b/reference/Research-and-Development-in-the-Pharmaceutical-Industry.md @@ -0,0 +1,517 @@ +This report examines research and development (R&D) by the pharmaceutical industry. + +Spending on R&D and Its Results. Spending on R&D and the introduction of new drugs have both increased in the past two decades. + +In 2019, the pharmaceutical industry spent $83 billion dollars on R&D. Adjusted for inflation, that amount is about 10 times what the industry spent per year in the 1980s. +Between 2010 and 2019, the number of new drugs approved for sale increased by 60 percent compared with the previous decade, with a peak of 59 new drugs approved in 2018. +Factors Influencing R&D Spending. The amount of money that drug companies devote to R&D is determined by the amount of revenue they expect to earn from a new drug, the expected cost of developing that drug, and policies that influence the supply of and demand for drugs. + +The expected lifetime global revenues of a new drug depends on the prices that companies expect to charge for the drug in different markets around the world, the volume of sales they anticipate at those prices, and the likelihood the drug-development effort will succeed. +The expected cost to develop a new drug—including capital costs and expenditures on drugs that fail to reach the market—has been estimated to range from less than $1 billion to more than $2 billion. +The federal government influences the amount of private spending on R&D through programs (such as Medicare) that increase the demand for prescription drugs, through policies (such as spending for basic research and regulations on what must be demonstrated in clinical trials) that affect the supply of new drugs, and through policies (such as recommendations for vaccines) that affect both supply and demand. +Notes +Notes +To remove the effects of inflation, the Congressional Budget Office adjusted dollar amounts with the gross domestic product price index from the Bureau of Economic Analysis. Amounts are expressed in 2019 dollars. + +Research and Development in the Pharmaceutical Industry +Summary +Every year, the U.S. pharmaceutical industry develops a variety of new drugs that provide valuable medical benefits. Many of those drugs are expensive and contribute to rising health care costs for the private sector and the federal government. Policymakers have considered policies that would lower drug prices and reduce federal drug expenditures. Such policies would probably reduce the industry’s incentive to develop new drugs. + +In this report, the Congressional Budget Office assesses trends in spending for drug research and development (R&D) and the introduction of new drugs. CBO also examines factors that determine how much drug companies spend on R&D: expected global revenues from a new drug; cost to develop a new drug; and federal policies that affect the demand for drug therapies, the supply of new drugs, or both. + +What Are Recent Trends in Pharmaceutical R&D and New Drug Approvals? +The pharmaceutical industry devoted $83 billion to R&D expenditures in 2019. Those expenditures covered a variety of activities, including discovering and testing new drugs, developing incremental innovations such as product extensions, and clinical testing for safety-monitoring or marketing purposes. That amount is about 10 times what the industry spent per year in the 1980s, after adjusting for the effects of inflation. The share of revenues that drug companies devote to R&D has also grown: On average, pharmaceutical companies spent about one-quarter of their revenues (net of expenses and buyer rebates) on R&D expenses in 2019, which is almost twice as large a share of revenues as they spent in 2000. That revenue share is larger than that for other knowledge-based industries, such as semiconductors, technology hardware, and software. + +The number of new drugs approved each year has also grown over the past decade. On average, the Food and Drug Administration (FDA) approved 38 new drugs per year from 2010 through 2019 (with a peak of 59 in 2018), which is 60 percent more than the yearly average over the previous decade. + +Many of the drugs that have been approved in recent years are “specialty drugs.” Specialty drugs generally treat chronic, complex, or rare conditions, and they may also require special handling or monitoring of patients. Many specialty drugs are biologics (large-molecule drugs based on living cell lines), which are costly to develop, hard to imitate, and frequently have high prices. Previously, most drugs were small-molecule drugs based on chemical compounds. Even while they were under patent, those drugs had lower prices than recent specialty drugs have. Information about the kinds of drugs in current clinical trials indicates that much of the industry’s innovative activity is focused on specialty drugs that would provide new cancer therapies and treatments for nervous-system disorders, such as Alzheimer’s disease and Parkinson’s disease. + +What Factors Influence Spending for R&D? +Drug companies’ R&D spending decisions depend on three main factors: + +Anticipated lifetime global revenues from a new drug, +Expected costs to develop a new drug, and +Policies and programs that influence the supply of and demand for prescription drugs. +Various considerations inform companies’ expectations about a drug’s revenue stream, including the anticipated prices it could command in different markets around the world and the expected global sales volume at those prices (given the number of people who might use the drug). The prices and sales volumes of existing drugs provide information about consumers’ and insurance plans’ willingness to pay for drug treatments. Importantly, when drug companies set the prices of a new drug, they do so to maximize future revenues net of manufacturing and distribution costs. A drug’s sunk R&D costs—that is, the costs already incurred in developing that drug—do not influence its price. + +Developing new drugs is a costly and uncertain process, and many potential drugs never make it to market. Only about 12 percent of drugs entering clinical trials are ultimately approved for introduction by the FDA. In recent studies, estimates of the average R&D cost per new drug range from less than $1 billion to more than $2 billion per drug. Those estimates include the costs of both laboratory research and clinical trials of successful new drugs as well as expenditures on drugs that do not make it past the laboratory-development stage, that enter clinical trials but fail in those trials or are withdrawn by the drugmaker for business reasons, or that are not approved by the FDA. Those estimates also include the company’s capital costs—the value of other forgone investments—incurred during the R&D process. Such costs can make up a substantial share of the average total cost of developing a new drug. The development process often takes a decade or more, and during that time the company does not receive a financial return on its investment in developing that drug. + +The federal government affects R&D decisions in three ways. First, it increases demand for prescription drugs, which encourages new drug development, by fully or partially subsidizing the purchase of prescription drugs through a variety of federal programs (including Medicare and Medicaid) and by providing tax preferences for employment-based health insurance. + +Second, the federal government increases the supply of new drugs. It funds basic biomedical research that provides a scientific foundation for the development of new drugs by private industry. Additionally, tax credits—both those available to all types of companies and those available to drug companies for developing treatments of uncommon diseases—provide incentives to invest in R&D. Similarly, deductions for R&D investment can be used to reduce tax liabilities immediately rather than over the life of that investment. Finally, the patent system and certain statutory provisions that delay FDA approval of generic drugs provide pharmaceutical companies with a period of market exclusivity, when competition is legally restricted. During that time, they can maintain higher prices on a patented product than they otherwise could, which makes new drugs more profitable and thereby increases drug companies’ incentives to invest in R&D. + +Third, some federal policies affect the number of new drugs by influencing both demand and supply. For example, federal recommendations for specific vaccines increase the demand for those vaccines and provide an incentive for drug companies to develop new ones. Additionally, federal regulatory policies that influence returns on drug R&D can bring about increases or decreases in both the supply of and demand for new drugs. + +Trends in R&D Spending and New Drug Development +Private spending on pharmaceutical R&D and the approval of new drugs have both increased markedly in recent years, resuming a decades-long trend that was interrupted in 2008 as generic versions of some top-selling drugs became available and as the 2007–2009 recession occurred. In particular, spending on drug R&D increased by nearly 50 percent between 2015 and 2019. Many of the drugs approved in recent years are high-priced specialty drugs for relatively small numbers of potential patients. By contrast, the top-selling drugs of the 1990s were lower-cost drugs with large patient populations. + +R&D Spending +R&D spending in the pharmaceutical industry covers a variety of activities, including the following: + +Invention, or research and discovery of new drugs; +Development, or clinical testing, preparation and submission of applications for FDA approval, and design of production processes for new drugs; +Incremental innovation, including the development of new dosages and delivery mechanisms for existing drugs and the testing of those drugs for additional indications; +Product differentiation, or the clinical testing of a new drug against an existing rival drug to show that the new drug is superior; and +Safety monitoring, or clinical trials (conducted after a drug has reached the market) that the FDA may require to detect side effects that may not have been observed in shorter trials when the drug was in development. +In real terms, private investment in drug R&D among member firms of the Pharmaceutical Research and Manufacturers of America (PhRMA), an industry trade association, was about $83 billion in 2019, up from about $5 billion in 1980 and $38 billion in 2000.1 Although those spending totals do not include spending by many smaller drug companies that do not belong to PhRMA, the trend is broadly representative of R&D spending by the industry as a whole.2 A survey of all U.S. pharmaceutical R&D spending (including that of smaller firms) by the National Science Foundation (NSF) reveals similar trends.3 + +Although total R&D spending by all drug companies has trended upward, small and large firms generally focus on different R&D activities. Small companies not in PhRMA devote a greater share of their research to developing and testing new drugs, many of which are ultimately sold to larger firms (see Box 1). By contrast, a greater portion of the R&D spending of larger drug companies (including those in PhRMA) is devoted to conducting clinical trials, developing incremental “line extension” improvements (such as new dosages or delivery systems, or new combinations of two or more existing drugs), and conducting postapproval testing for safety-monitoring or marketing purposes. + +Box 1. +Large and Small Drug Companies and the “Make or Buy” Decision +Small drug companies (those with annual revenues of less than $500 million) now account for more than 70 percent of the nearly 3,000 drugs in phase III clinical trials.1 They are also responsible for a growing share of drugs already on the market: Since 2009, about one-third of the new drugs approved by the Food and Drug Administration have been developed by pharmaceutical firms with annual revenues of less than $100 million.2 Large drug companies (those with annual revenues of $1 billion or more) still account for more than half of new drugs approved since 2009 and an even greater share of revenues, but they have only initiated about 20 percent of drugs currently in phase III clinical trials.3 + +For a large drug company, one option for increasing the number of drugs it expects to introduce is to acquire a smaller firm that is developing new drugs. Over the past three decades, about one-fifth of drugs in development—or the companies developing them—have been acquired by another pharmaceutical company.4 + +When a large company acquires a small drug company or the rights to one of its drugs, it can use its specialized knowledge to increase the value of its acquisition or to diversify its risk of a decline in revenues (from a drug’s loss of patent protection, for instance). In making that acquisition, a large company might bring a drug to market more quickly than the small company could have or might distribute it more widely. With the rise of generic drugs, the loss in sales revenues that occurs when a drug’s patent expires can leave firms with excess capacity in production. Acquiring a smaller company can help quickly fill that capacity. + +The acquisition of a small company by a larger one can create efficiencies that might increase the combined value of the firms by allowing drug companies of different sizes—in terms of the number of researchers, administrative employees, and financial and physical assets—to specialize in activities in which they have a comparative advantage. Small companies—with relatively fewer administrative staff, less expertise in conducting clinical trials, and less physical and financial capital to manage—can concentrate primarily on research. For their part, large drug companies are much better capitalized and can more easily finance and manage clinical trials. They also have readier access to markets through established drug distribution networks and relationships with buyers. + +Researchers have found some evidence that such acquisitions by larger drug firms are sometimes motivated by large firms’ desire to limit competition. According to a recent study of acquisitions in the pharmaceutical industry, for example, a company was about 5 percent to 7 percent less likely to complete the development of drugs in its acquired company’s pipeline if those drugs would compete with the acquirer’s existing drugs than it would be otherwise.5 In a 2017 study of competition and research and development (R&D), the Government Accountability Office cited several retrospective studies of mergers in the drug industry that found such transactions reduced R&D spending and patenting for several years.6 The reverse was also true: Increases in pharmaceutical industry competition have been found to increase firms’ R&D spending.7 + +1. See IQVIA Institute for Human Data Science, The Changing Landscape of Research and Development (April 2019), p. 15, https://tinyurl.com/1cm3g2fs. + +2. See Ulrich Geilinger and Chandra Leo, HBM New Drug Approval Report (HBM Partners, January 2019), p. 16. https://tinyurl.com/yyzze476, (PDF, 1.14 MB). HBM Partners is a Swiss health care investment company. + +3. The 30 largest companies have developed 53 percent of drugs approved since 2009, and in 2014, the 25 largest drug companies received more than 70 percent of industry revenues. See IQVIA Institute for Human Data Science, The Changing Landscape of Research and Development (April 2019), p. 16, https://tinyurl.com/y2kpxve8; and Government Accountability Office, Drug Industry: Profits, Research and Development Spending, and Merger and Acquisition Deals, GAO-18-40 (November 2017), p. 16, www.gao.gov/products/GAO-18-40. + +4. See Colleen Cunningham, Florian Ederer, and Song Ma, “Killer Acquisitions,” Journal of Political Economy, vol. 129, no. 3 (March 2021), p. 670, http://dx.doi.org/10.1086/712506. + +5. Ibid., pp. 649–702. + +6. See Government Accountability Office, Drug Industry: Profits, Research and Development Spending, and Merger and Acquisition Deals, GAO-18-40 (November 2017), p. 16, www.gao.gov/products/GAO-18-40. For the individual studies, see Carmine Ornaghi, “Mergers and Innovation in Big Pharma,” International Journal of Industrial Organization, vol. 27, no. 1 (January 2009), pp. 70–79, https://doi.org/10.1016/j.ijindorg.2008.04.003; and Patricia M. Danzon, Andrew Epstein, and Sean Nicholson, “Mergers and Acquisitions in the Pharmaceutical and Biotech Industries,” Managerial and Decision Economics, vol. 28, no. 4/5 (June–August 2007), pp. 307–328, www.jstor.org/stable/25151520. + +7. See Richard T. Thakor and Andrew W. Lo, “Competition and R&D Financing: Evidence From the Biopharmaceutical Industry,” Journal of Financial and Quantitative Analysis (forthcoming), http://dx.doi.org/10.2139/ssrn.3754494. + +CBO relied on the PhRMA data because before 2008, the NSF survey did not include domestic firms’ R&D spending outside of the United States. (Both the NSF and PhRMA estimates reflect worldwide R&D spending by pharmaceutical companies with operations in the United States.) NSF’s estimates of R&D spending since 2008 suggest that PhRMA members’ worldwide R&D spending constitutes about 75 percent to 85 percent of the industry total, depending on the year. + +In recent years, the pharmaceutical industry’s R&D spending as a share of net revenues (sales less expenses and rebates) has increased: Consumer spending on brand-name prescription drugs has risen, but R&D spending has risen more quickly. In the early 2000s, when drug industry revenues were rising sharply, the industry’s R&D intensity—that is, its R&D spending as a share of net revenues—averaged about 13 percent each year. Over the decade from 2005 to 2014, the industry’s R&D intensity averaged 18 percent to 20 percent each year. That ratio has been trending upward since 2012, and it exceeded 25 percent in 2018 and 2019, the highest R&D intensities recorded by the pharmaceutical industry as a whole since at least 2000. Data are limited for earlier years, but among PhRMA member companies, annual R&D intensities averaged 18 percent from 1980 through 2010 and never exceeded 22 percent.4 Since then, R&D intensity has increased among PhRMA firms just as it has for the industry as a whole, reaching 25 percent in 2017 before decreasing slightly in 2018. By comparison, average R&D intensity across all industries typically ranges between 2 percent and 3 percent.5 R&D intensity in the software and semiconductor industries, which are generally comparable to the drug industry in their reliance on research and development, has remained below 18 percent (see Figure 1). + +Figure 1. +Average R&D Intensities for Publicly Traded U.S. Companies, by Industry +Percent + + +Pharmaceutical companies have devoted a growing share of their net revenues to R&D activities, averaging about 19 percent over the past two decades. By comparison, other research-intensive industries, like software and semiconductors, averaged about 15 percent. + +Data source: Congressional Budget Office, using data from Bloomberg, limited to U.S. firms as identified by Aswath Damodaran, “Data: Breakdown” (accessed January 13, 2020), https://tinyurl.com/yd5hq4t6. See www.cbo.gov/publication/57025#data. + +R&D intensity is research and development spending as a share of net revenues (sales less expenses and rebates). + +R&D = research and development; S&P = Standard and Poor’s. + +There are several possible explanations for the increase in the industry’s R&D intensity over the past eight years. It could reflect the increased role of small drug companies, which have little revenue and, therefore, high ratios of R&D spending to net revenues. It could also indicate that the expected returns from investments in R&D have increased (if market conditions have changed) or that opportunities to develop new drugs have increased (if recent advances in science and technology have been particularly productive). Finally, it could reflect rising costs of R&D inputs, such as capital equipment and skilled labor. CBO has not evaluated the relative importance of those possibilities. + +New Drug Development +Over the past decade, the pharmaceutical industry has introduced growing numbers of new drugs annually (see Figure 2). Between 2010 and 2019, 38 new drugs were approved each year, on average. That is about a 60 percent increase compared with the previous decade. Drug approvals reached a new peak in 2018, surpassing the record number of approvals of the late 1990s. (Counts of new drug approvals are a readily available but imperfect measure of output from the drug industry’s R&D spending. The measure does not reflect differences in the effectiveness of the new drugs relative to alternative treatments, or the number of people who might benefit from the new drugs.) + +Figure 2. +Average Annual Approvals of New Drugs by the FDA +Number of Drugs + + +From 2015 to 2019, the FDA approved about twice as many new drugs as it did a decade earlier. Biologic drugs make up a growing share of FDA approvals. + +Data source: Congressional Budget Office, using data from the FDA’s Center for Drug Evaluation and Research and the FDA’s Center for Biologics Evaluation and Research. See www.cbo.gov/publication/57025#data. + +Until the 1990s, the FDA did not count biologics as a separate category; they were counted with NMEs. + +BLA = biologic license application; FDA = Food and Drug Administration; NME = new molecular entity. + +Information about the kinds of new drugs the pharmaceutical industry has introduced can be inferred from changes in retail spending across different therapeutic classes of drugs. When ranked by retail spending, therapeutic classes in which many expensive specialty drugs have been introduced over the past decade top the ranking, whereas classes in which the best-selling drugs are now available in generic form rank lower now than they did a decade ago.6 Information about the kinds of new drugs the pharmaceutical industry may introduce in the future can be inferred from clinical trials under way. + +Approval of New Drugs. Over the past five years, both R&D spending and drug approvals have increased substantially. The relationship between them is complex and variable (see Figure 3). Because it can take a decade or more of R&D spending to develop a new drug and successfully shepherd it through clinical trials, drug approvals lag behind the underlying R&D spending. That lag makes it difficult to interpret the relationship between R&D spending and new drug approvals. For instance, drug approvals declined over the 2000s despite steadily rising R&D spending over the preceding years, provoking concerns about a decline in the industry’s R&D productivity. Those concerns proved temporary, however. Despite flat R&D spending from 2008 through 2014, drug approvals began to increase around 2012. + +Figure 3. +R&D Spending and New Drug Approvals + +Sustained increases in pharmaceutical R&D spending do not necessarily lead to rising numbers of new drugs. R&D spending also reflects rising costs of labor (skilled researchers) and capital (laboratory technologies). + +Data source: Congressional Budget Office, using data from the FDA’s Center for Drug Evaluation and Research and PhRMA annual reports (various years). See www.cbo.gov/publication/57025#data. + +Data for 1980–1983 are not shown because the five-year moving average cannot be calculated for the first four years of data. + +FDA = Food and Drug Administration; NME = new molecular entity; PhRMA = Pharmaceutical Research Manufacturers of America; R&D = research and development. + +a. A five-year moving average replaces the value for each year in an annual data series with an average over five consecutive years. (Here the arithmetic mean of each annual value and the preceding four is used.) A moving average is smoother than the underlying data series and is useful for reducing year-to-year changes unrelated to overall trends in the data. + +That increase in drug approvals does not, by itself, indicate the extent to which the new drugs are particularly innovative (for instance, targeting illnesses in new ways) as opposed to improving only incrementally upon existing drugs. Furthermore, the recent trend of sharply rising R&D spending does not necessarily portend a continued high rate of drug introductions. A decline in clinical trials success rates, for example, could slow the rate of new drug introductions even while R&D spending continued to increase. Additionally, not all R&D spending is directed toward development of new drugs. Drug companies devote some R&D resources to finding effective new combinations of existing drugs, as with newer HIV treatments and preventatives, or to new drug-delivery mechanisms, such as insulin pumps. + +Finally, the rise in the industry’s R&D spending does not provide information about the kinds of drugs that may be introduced in coming years. To some degree, that information can be inferred from descriptions of clinical trials currently in progress. But it cannot be known with any certainty which of those drugs will eventually make it to market. + +Trends in Recent Drug Spending by Therapeutic Class. New or improved specialty drugs for diabetes, various cancers, autoimmune disorders (such as rheumatoid arthritis or multiple sclerosis), and HIV have propelled large retail-spending increases in the therapeutic classes for those illnesses (see Figure 4). Many of the new specialty drugs are biologics, based on living cell lines rather than chemical active ingredients. For HIV, the new antiretroviral therapies have been combinations of specialty drugs that simplify treatment. + +Figure 4. +Total U.S. Retail Drug Spending by Therapeutic Class, 2009 and 2019 +Billions of 2019 dollars + + +New drugs can lead to large increases in retail spending because they have higher prices, they are in high demand, or both. Spending decreases can result when patent protection expires on leading drugs and low-cost generic versions are introduced. + +Data source: Congressional Budget Office, using data from IQVIA Institute for Human Data Science, Medicine Spending and Affordability in the United States: Understanding Patients’ Costs for Medicines (August 2020), Exhibit 24, https://tinyurl.com/5655tnoc; IMS Institute for Healthcare Informatics, Medicines Use and Spending Shifts: A Review of the Use of Medicines in the U.S. in 2014 (April 2015), p. 40, https://tinyurl.com/3bk9oufn, and Medicine Use and Shifting Costs of Healthcare: A Review of the Use of Medicines in the United States in 2013 (April 2014), Appendix 8, https://go.usa.gov/xsaFR. See www.cbo.gov/publication/57025#data. + +Therapeutic classes in the figure are ranked in order of 2019 spending. The figure excludes “other cardiovasculars” (ranked 12th in 2019, with total spending of $10.1 billion) because 2009 data for that class could not be found. + +Retail spending overstates actual spending and revenues received by manufacturers, because it does not include rebates paid by those manufacturers. + +ADHD = attention deficit hyperactivity disorder; GI = gastrointestinal. + +a. Viral hepatitis entered the list of the top 20 therapeutic classes by retail spending in 2014; therefore, spending levels for that year have been substituted for 2009 levels. + +Some of the therapeutic classes that have experienced large spending increases feature new drugs with relatively large populations of patients or new treatments for chronic conditions that can be therapeutically managed but require continued treatment. (As a result, drugs for chronic conditions typically sell in steady quantities.) Other such classes include new drugs with relatively small numbers of potential patients or shorter treatment durations but that have high prices per unit of treatment. High prices may reflect demand that is relatively insensitive to price because of the serious nature of the illness and coverage of those drugs by insurance plans. For example, prices for oncology drugs tend to be high. + +In some cases, observed increases in retail spending overstate increases in net revenues to the manufacturer because they do not account for unobserved rebates.7 Rebates tend to be higher for drugs for which several competing therapies are available. (Larger rebates correspond with lower net prices.) Thus, rebates on diabetes drugs tend to be considerably higher—as a percentage of the retail price—than they do for oncology drugs, which are not highly substitutable. + +Several therapeutic classes that contain top-selling drugs developed in the 1990s experienced decreases in retail spending from 2009 to 2019 as they faced competition from generic versions. Those blockbuster small-molecule drugs include atypical antipsychotics, ACE inhibitors, and proton pump inhibitors. The therapeutic classes containing those drugs—mental health, antihypertensives, and gastrointestinal products, respectively—experienced large declines in retail spending. One therapeutic class, lipid regulators (the class that includes statins), experienced such a decrease that it no longer appears among the top 20, ranked by retail spending. Those declines reflect widespread use of the new generic versions of those drugs. + +One therapeutic class has experienced a decline in retail spending for a different reason. Viral hepatitis only entered the top 20 in 2014, coinciding with the introduction of several highly effective—and high-priced—new treatments for hepatitis C. In contrast to the spending declines described above, the decline in retail spending on viral hepatitis drugs is attributable to a combination of factors. First, newer, lower-priced drugs have since been introduced, lowering the average price in that class as they have gained market share. Second, the number of prescriptions has declined: As the treatments have been administered, the number of potential patients has fallen. That is because the new drugs successfully treat about 95 percent of patients with chronic hepatitis C infection.8 By contrast, older, less expensive therapies were successful in far fewer patients and had severe side effects in many cases. + +Types of New Drugs in Development. Information about the kinds of drugs that may be approved in coming years can be gleaned from data on recent clinical trials. That information suggests that drug companies are emphasizing treatments for cancer and nervous system disorders like Alzheimer’s disease and Parkinson’s disease. Among human clinical trials in progress as of 2018, drugs in those two therapeutic classes accounted for more than twice as many trials as did drugs in the next three classes combined (vaccines; pain, including arthritis therapies; and dermatologics.)9 + +The 2020–2021 coronavirus pandemic has spurred the development of vaccines to halt the spread of COVID-19, the disease caused by the coronavirus. In addition to R&D spending by the private sector, the federal government has provided support to the private sector to develop vaccines to address the pandemic (see Box 2). + +Box 2. +Federal Funding to Support the Development of a COVID-19 Vaccine +The federal government can directly support private vaccine development in two primary ways, either by covering the costs of research and development (R&D), or by committing in advance to purchasing a successful vaccine contingent upon a firm achieving specified development goals. Under the first method, the government would supply R&D funding that would ordinarily come from the pharmaceutical firms themselves, from venture capital investments, or from other sources outside the firm. That method might be better suited to cases in which the R&D effort had a relatively high risk of failure and an expected return that would be too low to attract private investment. The rationale for government funding in such cases would depend on whether the expected value to society—rather than to private investors—exceeded the cost of the funding. However, a drawback of such funding is that the outside funder—including the government, in this case—cannot observe the innovator’s private costs and may pay more than necessary for developing the vaccine. + +Under the second method—that is, agreeing to a future purchase of a specified number of vaccine doses at a specific price—the government would become the source of demand that ordinarily comes from the market. Such an advance-purchase agreement might be preferable in cases in which the government planned to purchase the new product in large quantities regardless of the amount of financial support it provided for R&D. It might also be preferable in cases in which a variety of approaches to developing the product are available, but with much uncertainty about which approach is best. An advance-purchase agreement would also ensure the developer a certain amount of revenues in cases in which the government was supporting the development of multiple, competing products simultaneously. By offering advance purchase contracts to vaccine manufacturers—the promise of future payment conditional on a successful vaccine being developed—the government can provide greater certainty to pharmaceutical firms undertaking risky investments in R&D for vaccines. + +In May 2020, the Department of Health and Human Services initiated “Operation Warp Speed,” a collaborative effort involving the Centers for Disease Control and Prevention, the Food and Drug Administration (FDA), the National Institutes of Health, and the Department of Defense, with funding provided through the Biomedical Advanced Research and Development Authority (BARDA). Through Operation Warp Speed, the federal government has provided more than $19 billion in assistance to seven private pharmaceutical manufacturers to develop and produce a vaccine or treatment for COVID-19, the disease caused by the coronavirus (see the table below).1 As of March 2, 2021, five of those seven companies accepted up-front funding for research and clinical trials. Five of the seven companies accepted advance funding aimed at helping manufacturers ramp up their production capabilities while their potential vaccines were still in development; a sixth accepted funding to develop the capacity to manufacture another firm’s vaccine after it received emergency use authorization. Finally, six of the seven manufacturers signed advance-purchase agreements. Two of the companies with vaccines that have received emergency use authorizations have received additional funding for selling more doses than were guaranteed by advance-purchase agreements. + +The parallel execution of several stages of development that would usually be conducted in sequence, such as combining phase I and phase II clinical trials or building manufacturing capacity while the trials are still under way, has allowed pharmaceutical manufacturers to advance much more quickly through the development process than is typical for vaccines.2 One year after the first case of COVID-19 was diagnosed in the United States, three of the vaccines supported by BARDA funding had received emergency use authorizations from the FDA, and two other vaccines were in phase III clinical trials. (It ordinarily takes several years of research and testing before a candidate vaccine enters phase III clinical trials.3 Seasonal influenza vaccines take much less time to develop and approve because their technologies, and the regulatory and licensing procedures for those vaccines, have been used before.) According to the World Health Organization, more than 200 candidate COVID-19 vaccines were in development in February 2021.4 + + +1. Most of the manufacturers have also received research support from or signed advance-purchase agreements with the European Union, several national governments, and two global partnerships supported by foundations and other donors (Coalition for Epidemic Preparedness Innovations and Gavi, the Vaccine Alliance). See, for example, Christopher M. Snyder and others, “Designing Pull Funding for a COVID-19 Vaccine,” Health Affairs, vol. 39, no. 9 (September 2020), pp. 1633–1642, https://doi.org/10.1377/hlthaff.2020.00646. + +2. See Nicole Lurie and others, “Developing Covid-19 Vaccines at Pandemic Speed,” New England Journal of Medicine, vol. 382 (May 21, 2020), pp. 1969-1973, https://doi.org/10.1056/NEJMp2005630. + +3. See Wellcome Trust, “The 5 Stages of Vaccine Development” (accessed January 15, 2021), https://tinyurl.com/y6rxbbuf. + +4. See World Health Organization, “COVID-19 Vaccines” (accessed March 24, 2021), https://tinyurl.com/fpdcc777. + +Factors That Influence R&D Spending +Pharmaceutical companies invest in R&D in anticipation of future profits. For each drug that a company considers pursuing, anticipated returns depend on three main factors: the expected lifetime global revenue from the drug (minus its manufacturing and marketing costs), the new drug’s likely R&D costs, and policies that affect the supply of and demand for prescription drugs. When the anticipation of future profits is higher, companies invest more in R&D and produce more new drugs, CBO estimates. Similarly, if expectations about prices and profits were lower, companies would invest in less R&D, and fewer drugs would be developed (see Box 3). + +Box 3. +Effects of Changes in Expected Profitability on the Introduction of New Drugs +If expected profitability of new drugs declined—because of a change in federal policy, a shift in demand or supply, a revision in the balance of power between drug companies and drug buyers, or for any other reason—the expected returns on drug R&D would decline as well. Lower expected returns would probably mean fewer new drugs, because there would be less incentive for companies to spend on R&D. (If expected profitability were to rise, the opposite effects would occur.) Expectations about returns on R&D partly depend on expectations of prices that future drugs could command—which, in turn, partly depend on current drug prices and influences on those prices. + +The Congressional Budget Office’s analysis of H.R. 3 in the 116th Congress illustrates those effects. That bill would have required the Secretary of Health and Human Services to negotiate prices for drugs—primarily those for which spending was highest—and to subject manufacturers who did not participate in negotiations to an excise tax. In that analysis, CBO concluded that the bill would reduce drug companies’ expectations about future revenues because of the new negotiating leverage of the Secretary. The prospect of such lower revenues would make investments in R&D less attractive to pharmaceutical companies. CBO estimated that under the bill, approximately 8 fewer drugs would be introduced to the U.S. market over the 2020–2029 period and about 30 fewer drugs over the subsequent 10 years.1 Those estimates were in the middle of the distribution of possible outcomes, in CBO’s assessment, and were uncertain. CBO’s analysis is in line with a broader literature that has found a positive relationship between drug prices and R&D efforts.2 + +1. See Congressional Budget Office, letter to the Honorable Frank Pallone Jr. regarding the budgetary effects of H.R. 3, the Elijah Cummings Lower Drug Costs Now Act (December 10, 2019), www.cbo.gov/publication/55936. + +2. See Margaret E. Blume-Kohout and Neeraj Sood, “Market Size and Innovation: Effects of Medicare Part D on Pharmaceutical Research and Development,” Journal of Public Economics, vol. 97 (January 2013), pp. 327–336, https://doi.org/10.1016/j.jpubeco.2012.10.003; Daron Acemoglu and Joshua Linn, “Market Size in Innovation: Theory and Evidence From the Pharmaceutical Industry,” Quarterly Journal of Economics, vol. 119, no. 3 (August 2004), pp. 1049–1090, https://doi.org/10.1162/0033553041502144; and Pierre Dubois and others, “Market Size and Pharmaceutical Innovation,” RAND Journal of Economics, vol. 46, no. 4 (Winter 2015), pp. 844–871, https://doi.org/10.1111/1756-2171.12113. + +Anticipated Revenues +A company’s expectations about the revenues it could earn from a drug depend on the prices that the company anticipates the drug could command in various markets around the world and the quantities that the company anticipates might be purchased at those prices. Those expectations are informed by the prices and sales volumes observed for existing drugs in various markets. For established drug companies, current revenue streams from existing products also provide an important source of financing for their R&D projects. + +How Revenue Expectations are Formulated. A company develops its expectations about a potential drug’s lifetime future revenues based on the drug’s potential market size, which depends on the prices it might command in sales to different patient groups and in negotiations with payers, domestically and abroad. In that sense, the prices of existing drugs—including variations in prices to different patient populations—help determine R&D spending on future drugs. (The converse is not true: In CBO’s assessment, current R&D spending does not influence the future prices of the drugs that result from that spending.) + +Revenues generated by existing drugs provide information about the potential market size for new drugs by indicating consumers’ and insurance plans’ willingness to pay for drug treatments. The number of prescriptions for those drugs support inferences about the number of potential patients, their propensity to use drug therapies at the observed prices, and the popularity of competing therapies. + +Sales revenues from other unrelated drugs also help companies form expectations about market size. They reveal information about the magnitude of drug-treatment costs that the market currently tolerates, both in general and for various conditions that will have more or less in common—with regard to duration, severity, or effects on quality or length of life—with the conditions the new drug would treat. + +Expected revenues also depend on anticipated unit sales in different markets around the world. Those quantities are determined by the number of potential patients for the drug in those markets, the shares of those populations that might buy the drug at the prices the manufacturer envisions for those markets (taking into account any substitute drugs that might be available), and the number of prescriptions a course of treatment would require. + +Once a new drug has been approved, CBO expects that its developer would set its price in a forward-looking fashion, meaning the price is set to maximize the net revenues from the drug without regard to how much it cost to develop. + +Real (inflation-adjusted) pharmaceutical revenues increased sharply from the mid-1990s until around the mid-2000s, when patents on a number of blockbuster drugs expired and lower-cost generic equivalents were introduced. Revenues then declined slightly from the mid-2000s through the mid-2010s, a result of those patent expirations and the 2007–2009 recession. Revenue growth returned with the introduction of some expensive new drugs (see Figure 5). + +Figure 5. +Worldwide and Domestic Revenues of PhRMA Member Firms +Billions of 2019 Dollars + + +Revenues from drug sales have grown substantially since 1980, although that growth was interrupted by patent expirations of some widely used drugs and by the 2007–2009 recession. Revenue growth has since resumed, in part due to expensive new drugs. + +Data source: Congressional Budget Office, using data from PhRMA, 2019 PhRMA Annual Membership Survey, Table 4 (PhRMA, 2019), https://tinyurl.com/ycvneve7 (PDF, 2.15 MB). See www.cbo.gov/publication/57025#data. + +PhRMA revenue data reflect payments received by manufacturers, excluding cash discounts, Medicaid rebates, returns, and allowances for marketing expenses. + +PhRMA = Pharmaceutical Research and Manufacturers of America. + +Revenues as Source of Funding for R&D. In the pharmaceutical industry, revenues have traditionally been an important source of R&D financing for established companies with brand-name drugs to sell. Brand-name drugs can generate large volumes of cash because their manufacturing and distribution costs are typically very low relative to their sales revenues. Established companies appear to prefer to finance their R&D with current revenues whenever possible rather than to rely on outside funding sources such as venture capital.10 Outside financing involves transactions costs as well as other implicit costs, such as compensation for risks borne by outside investors who cannot perfectly monitor a firm’s efforts and skills.11 + +The share of R&D funded directly by revenues has declined in recent years because an increasing amount of R&D is now conducted by research-oriented drug companies with few or no products on the market. Over the past decade, small or emerging drug companies have developed a rising share of new drugs. Those companies have relatively little revenue (some have none at all), and most of them must seek outside financing, such as venture capital, and collaborative agreements with larger drug companies. Although venture capital still only finances a small share of the drug industry’s R&D spending in total, it supports a much larger share of the R&D spending of smaller firms than of large established companies. + +Drug development also occurs in university research labs. In addition to grants funded by the National Institutes of Health (NIH) that many universities receive for performing basic biomedical research, universities may collaborate with (and be funded by) private drug companies to perform applied research toward the development of new drugs.12 The funding for that R&D may come predominantly from revenues, as the collaborations typically involve established pharmaceutical companies.13 + +R&D Costs of a New Drug +R&D spending is also influenced by the expected costs of developing a new drug, including those incurred in the preclinical research phase and in clinical trials. In addition to those out-of-pocket expenses, drug companies incur capital costs that result from tying up funds in the drug-development process for years before they generate earnings from those investments. Those capital costs reflect the returns that the funds could have earned if they had been invested in other ways. + +Development of a drug that will eventually reach the market often entails a decade or more of R&D expenditures. Each successive phase of clinical trials requires increasing amounts of spending. Drug developers can reassess their commitment at each stage, and a drug’s expected value may change as more is learned in clinical trials or as market conditions change—that is, there is an option value to continuing. Companies will not necessarily cancel a drug project even if its likely future costs exceed its likely value when that assessment is made, because the expected value might rise with additional information about the drug or its market. + +Pharmaceutical research is inherently risky and canceled or failed projects are a normal part of any drug development program. Companies initiate drug projects knowing that most of them will not yield a marketable drug. Some drugs developed in the preclinical phase never enter clinical trials, and of those that do, only about 12 percent reach the market (recent estimates range from 10 percent to 14 percent).14 + +Estimates, from multiple sources, of average R&D expenditures per new drug range from less than $1 billion to more than $2 billion. Those estimates all include capital costs as well as expenditures on drugs that did not make it to market. The different estimates are averages over different samples of companies and drugs—that is, they depend on analytical and sampling choices made by the researchers producing those estimates and are best interpreted as illustrative of the general conclusion that developing new drugs is expensive and subject to high rates of failure. + +Preclinical Phase. Although drugs spend much less time in preclinical development than they do in clinical trials, a company’s total preclinical R&D expenditures typically constitute a considerable share of its total R&D spending. That is because companies typically develop many potential drugs in the preclinical phase that never enter or complete clinical trials. According to one estimate using data provided by large pharmaceutical firms, preclinical development accounted for an average of 31 percent of a company’s total expenditures on drug R&D, or $474 million per approved new drug.15 + +When capital costs were taken into account, the share of R&D spending in the preclinical phase rose to 43 percent. Any return on R&D spending on early, preclinical drug development must await successful completion of both the preclinical phase and the clinical trials that follow. As a result, the lag between investment and return is longer for R&D spending that occurs in the preclinical phase than for spending in clinical trials. (For drugs that do not reach the market, no return is realized, although lessons learned from those efforts may aid the development of other drugs.) According to one study, the preclinical phase takes an average of about 31 months, followed by around 95 months, on average, for clinical trials—or about 10.5 years from start to finish.16 Other estimates differ; in a sample of 10 cancer drugs, for example, one study found that the median time from discovery to approval was 7.3 years.17 Those numbers are measures of central tendency: Some drugs are brought to market in less time.18 + +Clinical-Trials Phase. The costs to conduct clinical trials on a drug are higher than those to conduct the preclinical phase because trials involve the contributions of many more people for a longer time. Clinical trials occur in several phases: + +Phase I trials (also known as human-safety trials) test a potential new drug at different dosage levels, generally in a small group of healthy volunteers in order to assess its safety in humans. For drugs with high levels of expected toxicity, phase I trial subjects are people with the targeted illness. +Phase II trials are larger and include only people with the medical condition the drug is intended to treat. Phase II trials assess the drug’s biological activity and identify and characterize any side effects. +Phase III trials are larger still and assess a drug’s clinical effectiveness. They can take years to complete. The smaller a drug’s expected therapeutic effect relative to a placebo, the larger the number of patients that are needed in the drug’s phase III trials so that the drug’s true effect (if any) can be distinguished from random variation in patient outcomes. +Phase IV trials (also known as pharmacovigilance trials) may be conducted after a new drug has reached the market. They look for side effects not seen in earlier trials and measure a drug’s efficacy over longer periods of use than were studied in earlier trials. +Generally, only drugs that have successfully navigated the first three phases can be considered for FDA approval, although regulators sometimes approve new drugs without a phase III trial. (Of the 59 drugs approved in 2018, 7 did not undergo phase III trials before approval.)19 In some cases the FDA may require a phase IV trial after the drug is approved to detect adverse reactions that might not be observed until a drug is in wider use. Drug companies also might choose to conduct phase IV trials to show (for marketing purposes) the superiority of their product over other available drug therapies. + +Few of the drugs that enter clinical trials are ultimately approved; some fail in clinical trials, and others are set aside when a company decides to focus on more promising drugs. In a few cases, drugs submitted for approval are rejected by the FDA. In one sample of drugs in clinical trials, researchers found that for every 100 drugs entering phase I trials, around 60 advanced to phase II trials, just over 20 entered phase III trials, and only about 12 gained FDA approval.20 Such winnowing is reflected in the average R&D cost per approved drug, which includes all of the R&D spending on drugs that do not reach the market. + +Costs tend to rise in each successive phase of development. In the sample just described, companies spent an average of about $1,065 million in clinical trials per approved new drug (more than twice the amount spent in the preclinical research phase). Spending averaged $28 million in phase I, $65 million in phase II, and $282 million in phase III.21 For each drug that completed the first three phases of clinical trials, the average total cost of those trials was about $375 million. The remaining $690 million (of the $1,065 million in average total spending on clinical trials) reflects companies’ contemporaneous spending on drugs that failed in clinical trials or were otherwise set aside. + +Capital Costs of R&D. In addition to the cost of preclinical research and clinical trials, drug companies incur costs by forgoing other opportunities for investment with money spent on clinical trials. Because drug companies’ R&D spending on a drug occurs over many years, those capital costs are substantial and can approach the value of actual R&D expenditures to develop a new drug. + +Estimates of Total R&D Costs. Three recent studies have estimated the average R&D cost per new drug. They all measure R&D costs the same way: They add up all of the R&D spending by each company in their sample—not only its spending on the sampled new drug but the company’s spending on other drugs that were being developed at the same time but that did not reach the market. The studies also all apply a cost-of-capital adjustment to each company’s R&D spending to reflect the lag between investment and return on investment.22 Despite their methodological similarities, the studies’ estimates range from $0.8 billion to $2.3 billion of R&D spending per new drug. + +Differences in sample selection and data sources appear to be important sources of variation in those estimates. The largest estimate, $2.3 billion (from a 2016 study, expressed here in 2019 dollars), includes around $900 million in preclinical research spending and $1.4 billion for clinical trials.23 Those estimates are based on a sample of 106 randomly selected drugs from 10 large pharmaceutical firms, 5 of which are ranked among the industry’s top 10 by sales revenues, with an additional 3 ranked in the top 50 but outside the top 25.24 That widely cited study is the latest in a series of similar studies the authors have published over the past three decades. Because the R&D expenditures reported by the sampled firms are not publicly available, it is difficult to evaluate the extent to which the results of those studies are affected by the selection of the sample and other aspects of the method of collecting data.25 An independent effort to replicate an earlier iteration of the study found similar results, however.26 + +The second study, which was conducted in part to provide an alternative to those 2016 estimates, found an average R&D cost of $1.2 billion (expressed here in 2019 dollars), with expenditures for individual drugs ranging from $137 million to $5.8 billion.27 That upper bound, based on one outlier drug accounting for $2.2 billion in actual R&D outlays and $3.6 billion in capital costs, skews the average estimate upward. The median R&D cost, unaffected by the outlier, is $0.9 billion. + +The sample in that study consisted of 63 drugs (developed by 47 different companies) out of the 355 drugs that the FDA approved between 2009 and 2018. R&D expenditure data for those 63 drugs are publicly available (unlike the data used in the 2016 study). The sample skews toward smaller firms—although the same is now true of drug development generally—and the authors caution that their sample may overrepresent drugs approved between 2014 and 2018 and those in certain therapeutic areas, first-in-class drugs, orphan drugs, and therapeutic agents that received accelerated approval. The R&D data include the companies’ spending on drugs that did not reach the market. + +In the third study, researchers limited their sample to new cancer drugs from companies with no previously approved products. They found an average cost of $0.9 billion per approved drug (expressed here in 2019 dollars).28 Notably, that study excluded R&D spending by firms that had not developed any approved drugs, and thus the study underestimates R&D spending on failed drugs and, by extension, expected costs per new drug. Median observed R&D costs in that sample were about $0.8 billion per new drug, with estimates for individual drugs ranging from about $212 million to $2.7 billion including capital costs. Those estimates include the developers’ total R&D spending while the approved drugs were under development, including that on failed drugs. + +Trends in R&D Costs. R&D costs have increased by about 8.5 percent per year over roughly the past decade.29 The increase in average R&D costs might reflect changes in the kinds of drugs being developed or in the number of drugs in costly clinical trials. If success rates for new biologic drugs were lower than for traditional, small-molecule drugs, or if R&D spending on failed drugs was higher for biologics, that would also contribute to higher average R&D costs. + +Some evidence suggests that average success rates may indeed have declined. The 2016 study found that fewer than 12 percent of the drugs entering phase I clinical trials ultimately reached the market, but it reported success rates in excess of 20 percent for drugs developed in the 1980s and 1990s.30 However, other evidence suggests that the overall success rate of clinical trials has not declined.31 + +Another possible factor in rising R&D costs is that it has become harder to recruit candidate patients into some kinds of clinical trials.32 For example, prospective patients might be less interested in taking a chance on untested treatments in clinical trials when approved treatment options are relatively effective already. And, in some therapeutic classes, it has become more difficult to demonstrate that a new drug would improve on the existing standard of care. For example, advances in oncology treatments have extended cancer patients’ expected lifespans. As a result, clinical trials on potential cancer drugs have had to be expanded or extended so that the treatment effect on the lifespans of patients can be estimated with suitable precision. That is, because oncology treatments have become more effective, it now takes longer, on average, to observe a given number of deaths in a clinical trial.33 + +Public Policy +Federal policy influences pharmaceutical companies’ R&D spending, both in magnitude and direction. (Policies in other countries and at other levels of government can also affect such spending. Those policies are outside the scope of this report.) + +Policies around federal health care programs and subsidies most directly affect the demand for new drugs. Other policies affect the supply of new drugs (federal support for basic research, tax treatment of R&D spending, and those policies that affect market exclusivity). Still other areas of federal policymaking affect both supply and demand (vaccine policies and regulatory policies). + +Changes in policy that increased the demand for pharmaceuticals or encouraged their supply would tend to make R&D activity a more attractive investment. Policy changes in the opposite direction could make it a less appealing one. + +Federal Health Care Programs and Subsidies. A variety of federal health care programs and subsidies increase demand for health care services and products, including prescription drugs. Such initiatives indirectly stimulate spending on drug R&D. In particular, the federal government—through Medicare, Medicaid, TRICARE, the Veterans Health Administration, the Children’s Health Insurance Program, and health insurance marketplaces established by the Affordable Care Act—purchases or subsidizes the purchase of a substantial number of prescription drugs on behalf of retirees, veterans, persons with disabilities, and low-income households. Taken together, federal and state expenditures on prescription drugs accounted for about 40 percent of total U.S. retail expenditures on prescription drugs in 2019.34 + +Changes to those programs would influence R&D spending. For instance, when Medicare Part D (Medicare’s prescription drug benefit) was implemented in 2006, sales of prescription drugs to enrollees increased considerably. In addition, for Medicare enrollees with full Medicaid benefits, coverage of prescription drugs shifted from Medicaid to Medicare Part D, increasing the average prices paid for those enrollees’ brand-name drugs. Those increases in current and anticipated revenues encouraged the industry to develop new drugs for the Medicare population. Between 2003 and 2010, the number of drugs entering phase I clinical trials increased by roughly 50 percent in therapeutic classes with relatively high sales to Medicare enrollees. That increased development activity eventually led to increases in the number of drugs in those classes.35 + +The federal government also increases demand for prescription drugs by subsidizing employment-based health insurance: An employer’s contribution toward the cost of that coverage is excluded from an employee’s taxable income, effectively reducing its price to the employee. As a result, many people select more generous health insurance coverage than they otherwise would, which increases their spending on health care (including prescription drugs) and indirectly stimulates pharmaceutical R&D. That stimulus would disappear if the tax subsidy on employment-based health insurance was eliminated. The size of the effect that would have on R&D spending would depend on how the elimination of the subsidy would affect individuals’ choices of health insurance coverage.36 + +Support for Basic Research. The federal government is the primary funder of basic research in biomedical sciences. That research ultimately increases the supply of new drugs because drug companies rely on the findings from that research—for example, the identification of disease targets toward which new drug therapies can be aimed. That basic research creates knowledge that, in effect, reduces private companies’ R&D costs and stimulates private investment in R&D, because it expands the set of potentially profitable drug development opportunities. In particular, increases in basic health-related research at the NIH or other federal research agencies have been found to increase private drug R&D in therapeutic classes related to that basic research.37 + +The rationale for public investment in basic biomedical research is that private firms’ incentives to invest in it are muted. Basic research generates knowledge (such as the identification of a disease target) that is not readily embodied in a marketable product (such as a drug). The more of that information a company could keep to itself, the greater its value to the company—and the stronger the company’s incentive would be to invest in that research. But because information can be communicated at low cost, it can be difficult to contain within a firm. Private companies tend to be reluctant to conduct basic research such as identifying a new disease target, because it would be difficult to keep much of the value of that discovery for themselves. For example, once a disease target is known, multiple companies (not just the company that identified it) might be able to develop drugs aimed at that target. That weakens private incentives to invest in basic research and, as a result, private firms do too little of it from the perspective of society as a whole (meaning that the social benefit if they performed additional basic research would be greater than the cost). + +The Role of NIH-Funded Research. In the past two decades, federal funding for NIH has totaled over $700 billion.38 Much of that funding has supported basic research (in genomics, molecular biology, and other life sciences) that has identified new disease mechanisms. Federal support for NIH nearly doubled between 1995 and 2003, rising from $18 billion to about $37 billion (see Figure 6). Federal funding for NIH declined (in inflation-adjusted dollars) each year from 2003 to 2015, when that funding was about $33 billion. With real annual increases over the subsequent five years, funding for NIH reached $41 billion in 2020. + +Figure 6. +Federal Funding for the National Institutes of Health, Fiscal Years 1995 to 2020 +Billions of 2019 Dollars + + +Large increases in funding for NIH—the locus of much of the federal government’s basic biomedical research support—in the late 1990s and early 2000s preceded a decade of declining funding. Since 2016, NIH funding has increased annually. + +Data source: Congressional Budget Office, using data from National Institutes of Health, Office of Budget. See www.cbo.gov/publication/57025#data. + +NIH = National Institutes of Health. + +Between 2010 and 2016, every drug approved by the FDA was in some way based on biomedical research funded by NIH.39 In many cases, new drugs targeted a disease mechanism that had been identified by advances in basic science resulting from that funding. Indeed, most of the important new drugs introduced by the pharmaceutical industry over the past 60 years were developed with the aid of research conducted in the public sector.40 Publicly funded basic science thus provided the foundation upon which complementary work on the applied science of drug development could be undertaken by the private sector. + +How NIH-Funded Research Affects Private R&D. Empirical studies find that public-sector research tends to increase private R&D rather than to decrease it—that is, they are complements, not substitutes.41 Several recent studies have associated increases in NIH-funded basic research with increased private R&D efforts.42 One study found that in the decade following an increase in NIH funding, private R&D spending grew by about eight times as much as the increase in that funding.43 Another study found that for every two NIH research grants, about one new private-sector patent was awarded.44 + +The complementary relationship between public and private R&D spending arises mainly because NIH funding focuses on basic research that leads to the discovery of new drugs, whereas private spending focuses on applications of such research. Private R&D spending on clinical testing, incremental innovation, product differentiation, and safety all follows from basic research. + +That relationship is complicated by two factors. First, the distinction between basic and applied research is not well defined, and the likelihood that federal research spending crowds out private R&D spending varies by type of research. The risk of crowding out is greater when the government funds research whose potential commercial applications are obvious and valuable, as was the case when federal and private research labs raced to map the human genome. Second, federal research spending can also indirectly crowd out private spending by increasing the demand for skilled researchers. That could cause an increase in research labor costs in the private sector as well as in the public sector.45 + +Tax Treatment of R&D Spending. The tax code increases the supply of new drugs in two ways: First, it provides tax credits for certain R&D expenditures (including credits available to all types of companies and credits specifically for developing drug treatments for uncommon diseases). Second, it allows all types of companies to deduct expenditures that are not eligible for the credits as business expenses in the year they are made. Both incentives encourage R&D spending by reducing its cost to the company. + +Tax Incentives. The research and experimentation tax credit, available to all types of companies for certain qualifying R&D expenditures, directly reduces the amount of income tax a company owes.46 That tax credit has been modified over time and was made permanent by the Consolidated Appropriations Act, 2016 (Public Law 114-113).47 Some of the increase in R&D spending by pharmaceutical industries over the past several decades might have been a response to changes in that credit. In addition, the Orphan Drug Act (P.L. 97-414), enacted in 1983, created a tax credit to encourage the development of drugs to treat relatively uncommon diseases. Companies can also choose to deduct the cost of R&D investments immediately rather than over the life of the investment. Many companies use both tax credits and the ability to accelerate their deductions for investments in R&D, although only one tax preference may be used for any particular investment expense. + +Effects of the 2017 Tax Act. The net effect of P.L. 115-97 (originally called the Tax Cuts and Jobs Act and called the 2017 tax act in this report) on R&D investment is uncertain. Investment in R&D is encouraged by the reduction in the top corporate tax rate from 35 percent to 21 percent because earnings on new drugs would be taxed at a lower rate. + +Investment is discouraged by changes in how deductions for R&D expenditures can be taken. The act is expected to reduce the value of tax deductions for R&D when they take effect. Beginning in 2022, companies will deduct their annual R&D costs over a five-year period rather than receiving the full tax deduction in the year the expenses are incurred. That discourages investment in R&D because the value of that deduction will decline. The reduction in the top corporate tax rate will further reduce the value of the tax deduction. + +The 2017 tax act also reduced the tax credit created by the Orphan Drug Act from 50 percent to 25 percent of the cost of clinical trials.48 When combined with the lower tax rate, that change will reduce the first-year tax benefits for R&D spending on orphan drugs by about 40 percent. (Costs applied to the tax credit for orphan drugs cannot also be applied to the research and experimentation credit, nor can they be deducted as expenses.) That change will also discourage investment in drug R&D. + +Policies Affecting Market Exclusivity. The federal government has adopted a variety of policies that grant periods of market exclusivity to manufacturers in order to increase the supply of new drugs. During those periods, the average prices for those new drugs are higher than they will be later, once lower-priced, generic versions are allowed to enter the market. The return on R&D spending provided by those higher prices encourages companies to develop new drugs. That incentive is not unlimited: A manufacturer only receives market exclusivity over its own drug. There may be competing drugs in the same therapeutic market, and companies may introduce other new drugs into that market, providing they do not infringe the existing drugs’ patents. + +The primary way that the federal government grants innovators temporary market exclusivity is through the U.S. patent system. Most patents expire 20 years after the date on which the patent application was filed, but pharmaceutical companies can receive several additional years of patent protection in recognition that patented drugs cannot be sold until they complete clinical trials. (Drug patent applications are often filed before the drug enters clinical trials, because disclosures from those trials could be considered “prior art” that might invalidate a patent if its application were filed after those disclosures occurred.) In recognition that a drug might spend several years of its market exclusivity in clinical trials, earning no revenue, the Hatch-Waxman Act (P.L. 98-417) allows pharmaceutical companies to seek up to five years of additional patent protection. + +Pharmaceutical companies can also receive additional exclusivity—distinct from that afforded by patents—for drugs that treat relatively uncommon diseases. The Orphan Drug Act, enacted in 1983, offers seven years of market exclusivity (for the designated orphan use, irrespective of remaining patent life) for drugs that either treat conditions affecting fewer than 200,000 persons in the United States or that, in the FDA’s judgment, face market conditions making it unlikely that an innovator could recover its R&D costs. The Orphan Drug Act appears to have led to an increase in the number of new drugs for rare diseases.49 + +Policies Affecting Generic Drugs. In addition to extending the period of market exclusivity on brand-name drugs, the Hatch-Waxman Act (enacted in 1984) also supports the development of generic drugs. It extends drug patents by up to five years but encourages competition from generic drugs once the patents on a pioneering drug have expired. + +The legislation allows the FDA to approve most generic drugs without clinical trials. Instead, a manufacturer must show that its drug is pharmaceutically equivalent to the brand-name drug it copies, with the same active ingredients and no significant differences in the rate and extent of absorption at the site of drug action in the body. + +The legislation also allows the FDA to extend by three years a brand-name drug’s market exclusivity for incremental changes, such as new indications, dosing regimens, or patient populations. (The FDA only grants that additional exclusivity when the manufacturer has conducted clinical trials that the agency judges were essential.)50 + +Thus, the act strengthened incentives to develop new drugs by extending drug patent life, and it made it easier for lower-cost generic versions to be introduced when the drugs enter the public domain by allowing the FDA to approve most generics based on pharmaceutical equivalence rather than clinical trials. + +Policies Affecting Biosimilar Drugs. Congress has sought to provide inducement to the development of biosimilar drugs—the analog, for biologic drugs, of the generic copies of small-molecule drugs. The Patient Protection and Affordable Care Act (P.L. 111-148) created an abbreviated pathway for FDA approval of biosimilar drugs. The manufacturer of a proposed biosimilar drug must demonstrate that the drug is “highly similar to and has no clinically meaningful differences from” the pioneering biologic drug.51 In addition, biosimilar manufacturers do not need to conduct as many clinical trials as were conducted for the pioneering drug because they can cite the FDA’s safety and effectiveness determinations for the original biologic drug. + +So far, that legislation has resulted in relatively few approved biosimilar drugs compared to the effect that the Hatch-Waxman Act had on the development of generic drugs. As of December 2020, the FDA had approved only 29 biosimilar drugs, and not all of them have been introduced.52 Of the $125 billion in reported domestic retail spending on biologic drugs in 2017 (expressed here in 2019 dollars), $11 billion was spent on biologics for which biosimilar versions are available, and only $0.9 billion was spent on those biosimilars.53 + +The relative lack of competition for pioneering biologic drugs might contribute to the shift in new-drug development toward biologic drugs instead of small-molecule drugs. In part, that shift might simply reflect advances in the underlying science. But biologic drugs are also attractive targets of research because they are harder to copy. The patent system does not require the original innovator to share the original cell line. Manufacturers seeking to make a biosimilar drug must develop their own living cell line to use as the basis for the new drug. By contrast, the primary challenge in making a generic copy of a small-molecule drug is to replicate the original drug’s active molecule, which is publicly disclosed in the patent. In addition, even under the abbreviated pathway specified by the FDA, biosimilar drugs must still be put through some clinical trials; unlike generic drugs, biosimilar drugs cannot avoid them altogether.54 + +Biologic drugs may face less competition than small- molecule drugs. Independent of (but concurrent with) patent protection, the FDA grants pioneering biologic drugs 12 years of guaranteed exclusivity in contrast to 5 years of exclusivity for small-molecule drugs.55 In addition, where biologic drugs are concerned, consumers may not as readily accept a biosimilar substitute as they do a generic drug, because a biosimilar is not identical to the drug it imitates.56 Consumer acceptance may be increasing with greater availability and familiarity with biosimilars. However, certain federal payment policies and private contractual agreements may discourage the use of biosimilars.57 With the possibility of facing less competition even beyond the period of market exclusivity, makers of biologic drugs would anticipate greater lifetime sales of those drugs as well. + +Vaccine Policies. Several federal policies increase the demand for vaccines and therefore R&D spending to develop them. The federal Vaccines for Children program provides vaccines at no cost to children who might otherwise go unvaccinated because of their family’s inability to pay. Additionally, the Centers for Disease Control and Prevention publishes a schedule of recommended childhood and adult vaccinations, including specific recommendations for various groups, such as health care providers, travelers, expectant mothers, racial and ethnic populations, and people with certain underlying health conditions. Those recommendations induce individuals to have themselves and their children vaccinated, and federal subsidies lower the costs to consumers of those vaccinations. A study that analyzed the effects of such policies found that the recommendation in 1991 that infants be vaccinated against hepatitis B and the expansion of Medicare coverage to include the cost of influenza vaccination in 1993 were both associated with subsequent increases in the development of new vaccines.58 Those findings suggest that manufacturers expected demand for vaccines to increase as a result of the new recommendations. + +Federal policies also affect the supply of vaccines. The same study considered the federal Vaccine Injury Compensation Fund, which was established in 1986 to encourage manufacturers to develop and supply new vaccines by indemnifying the manufacturers against lawsuits arising from adverse reactions to childhood vaccines. The study found that the fund’s introduction was associated with increased development of new vaccines. + +In 2020, the federal government invested directly in the development of vaccines by providing more than $19 billion in funding to support the private development of vaccines to prevent COVID-19 through its Biomedical Advanced Research and Development Authority (see Box 2). + +Regulatory Policies. Federal regulatory policies that affect either drug supply or drug demand can influence drug companies’ returns on R&D spending, which would in turn affect the amount they were willing to spend on R&D. Proposed regulation of some drug prices would affect the sales volumes of existing drugs and, as a result, expected returns on R&D on future drugs; in turn, lower expected returns would result in fewer new drugs. Changes to regulation of clinical trials would also affect the supply of new drugs. + +Drug Prices. U.S. markets are subject to less price regulation than are the markets in many other countries. Drug companies can mostly set their own prices, although some federal agencies purchase drugs at prices subject to a statutory cap, impose statutory limits on how quickly a manufacturer can raise its prices, or receive rebates from manufacturers that are specified in statute.59 + +In 2019, the House of Representatives passed H.R. 3, which would have required the Secretary of Health and Human Services to negotiate with drug manufacturers over the domestic prices of certain high-priced, single-source drugs to ensure that they were no more than 20 percent higher than the average prices for those drugs in specific other countries. Under H.R. 3, drug manufacturers that did not agree to participate in negotiations or that failed to agree to a negotiated price would have been subject to an excise tax. The combination of income taxes and excise taxes on a drug’s sales might have caused the manufacturer to lose money if the drug were sold in the United States. Those taxes would have had the same effect as if the drug had not been approved for sale or as if there were a formulary—that is, a national list of drugs that insurers could cover—from which the drug was excluded. Therefore, the potential use of the excise tax would have served as a source of pressure on drug manufacturers in negotiations and would have lowered drug prices and federal spending, CBO estimated.60 (For a discussion of the effects of lower prices on the introduction of new drugs, see Box 3.) + +More generally, state laws mandating or encouraging substitution of generic drugs for their brand-name equivalents help lower drug prices.61 In addition, most Medicare Part D plans encourage the substitution of generic drugs for their brand-name equivalents.62 And although the existence of generic drugs is enabled by the patent system’s disclosure requirement (compelling drugmakers to disclose the molecular structure of a drug’s active ingredient), several federal regulatory decisions hasten the introduction of those drugs.63 Under the Hatch-Waxman Act, generic drugs shown to contain the same active ingredient as the pioneering drug do not need to be tested in clinical trials, as described above. The act also provides legal protections from claims of patent infringement to manufacturers who try to develop generic versions of a pioneering drug before its patents have expired and from liability for adverse events not listed on the label of the pioneering drug.64 + +That competition from generic drugs—which can also reduce the demand for new drugs entering those markets—has tended to discourage investment in drug R&D.65 Several studies have found that a real 10 percent decrease in the growth of drug prices would be associated with about a 6 percent decrease in pharmaceutical R&D spending as a share of net revenues.66 + +Clinical Trials. A substantial R&D expense that can account for more than half of R&D spending (excluding capital costs), clinical trials are conducted in accordance with federal requirements. As a result, changes to federal policy regarding clinical trials can meaningfully affect private R&D spending. In particular, policymakers have made several changes to federal regulations governing clinical trials in an effort to reduce the time they take and therefore lower their cost. + +For example, FDA’s guidance, described above, on how drug companies can establish bioequivalence between a biosimilar drug and the pioneering biologic drug is intended to minimize the expenses of clinical trials associated with developing biosimilar drugs.67 The Prescription Drug User Fee Act, enacted in 1992, provided the FDA with additional resources to hasten the drug approval process, which reduced both the time to market and the capital costs of new-drug development. + +More recently, federal policymakers have allowed the use of “surrogate endpoints” in drug trials for certain illnesses, including HIV infection and some cancers, to shorten some clinical trials. Surrogate endpoints include indirect, predictive indicators (such as blood pressure, cholesterol level, tumor size, T-cell counts, or other physical signs of disease), along with other test results and laboratory measures.68 The FDA can approve certain kinds of drug for sale in the U.S. based on clinical-trials results that rely on such surrogate measures rather than on direct measures of a drug’s clinical benefit. + +The use of surrogate endpoints has helped neutralize a tendency in privately funded research to emphasize treatments that can be commercialized more quickly, which can result in too little investment in clinically valuable treatments that would take longer to develop.69 Speedier clinical trials can also benefit patients by hastening the introduction of life-extending therapies like the HIV antiretroviral treatments developed in the 1990s.70 However, relying on surrogate endpoints means that consumers might spend money on some drugs that would turn out to have little clinically meaningful effect.71 + +1. See Pharmaceutical Research and Manufacturers of America, 2020 PhRMA Annual Membership Survey (PhRMA, 2020), https://tinyurl.com/ydh6p64t, and 2019 PhRMA Annual Membership Survey (PhRMA, 2019), https://tinyurl.com/ycvneve7 (PDF, 2.15 MB). + +2. The total includes only research funded by PhRMA member firms, including any contract research funded by those firms and performed on their behalf by universities or other contract-research laboratories. In particular, the PhRMA total does not include expenditures to acquire the R&D assets (such as drugs in development) of another firm. + +3. See National Science Foundation, “Business Enterprise Research and Development Survey” (accessed February 25, 2021), www.nsf.gov/statistics/srvyberd/. + +4. See Pharmaceutical Research and Manufacturers of America, 2019 PhRMA Annual Membership Survey (PhRMA, 2019), Table 2, https://tinyurl.com/ycvneve7 (PDF, 2.15 MB). + +5. That range applies to average R&D intensity for the approximately 4,000 firms in the Standard & Poor’s (S&P) Total Market Index, a combination of the S&P 500 Index and the S&P Completion Index (an index of the total U.S. stock market, excluding firms in the S&P 500). CBO chose the Total Market Index as a basis of comparison because of its breadth. + +6. See Congressional Budget Office, Prices for and Spending on Specialty Drugs in Medicare Part D and Medicaid (March 2019), www.cbo.gov/publication/54964. + +7. Unobserved rebates are paid by manufacturers to insurers or buyers and are considered proprietary information. + +8. See Department of Veterans Affairs, “Hepatitis C Medications: An Overview for Patients” (accessed March 16, 2021), https://go.usa.gov/xs7qe. + +9. See IQVIA Institute for Human Data Science, Medicine Use and Spending in the U.S. (April 2018), p. 37, https://tinyurl.com/yd5cnvrl. + +10. See Qi Sun and Mindy Z. Xiaolan, “Financing Intangible Capital,” Journal of Financial Economics, vol. 133, no. 3 (September 2019), pp. 564-588, https://doi.org/10.1016/j.jfineco.2019.04.003; Bronwyn Hall and Josh Lerner, “The Financing of R&D and Innovation,” in Bronwyn H. Hall and Nathan Rosenberg, eds., Handbook of the Economics of Innovation, vol. 1 (North Holland, 2010), pp. 609–639; and Thomas W. Bates, Kathleen M. Kahle, and René M. Stulz, “Why Do U.S. Firms Hold So Much More Cash Than They Used To?” The Journal of Finance, vol. 64, no. 5 (October 2009), pp. 1985–2021, https://doi.org/10.1111/j.1540-6261.2009.01492.x. + +11. See R. Glenn Hubbard, “Capital-Market Imperfections and Investment,” Journal of Economic Literature, vol. 36, no. 1 (March 1998), pp. 193–225, www.jstor.org/stable/2564955. + +12. See Government Accountability Office, Drug Industry: Profits, Research and Development Spending, and Merger and Acquisition Deals, GAO-18-40 (November 2017), p. 36, www.gao.gov/products/GAO-18-40. + +13. Ibid., p. 37. + +14. A company can, within limits, influence its own success rate because that rate depends on the kinds of drugs the company chooses to pursue and to advance into clinical trials and on how the company manages its research process. For estimated success rates, see Chi Heem Wong, Kien Wei Siah, Andrew W Lo, “Estimation of clinical trial success rates and related parameters,” Biostatistics, vol. 20, no. 2 (April 2019), pp. 273–286, https://doi.org/10.1093/biostatistics/kxx069; David Thomas and others, Clinical Development Success Rates 2006–2015 (Biotechnology Innovation Organization, Amplion, and Biomedtracker, 2016), https://tinyurl.com/y2n8rnzb (PDF, 4.02 MB); and Michael Hay and others, “Clinical Development Success Rates for Investigational Drugs,” Nature Biotechnology, vol. 32, no. 1 (2014), pp. 40–51, https://doi.org/10.1038/nbt.2786. + +15. See Joseph A. DiMasi, Henry G. Grabowski, and Ronald W. Hansen, “Innovation in the Pharmaceutical Industry: New Estimates of R&D Costs,” Journal of Health Economics, vol. 47 (May 2016), p. 25, https://doi.org/10.1016/j.jhealeco.2016.01.012. The estimate reported in that study is $430 million in 2013 dollars. + +16. Ibid., p. 23. + +17. See Vinay Prasad and Sham Mailankody, “Research and Development Spending to Bring a Single Cancer Drug to Market and Revenues After Approval,” JAMA Internal Medicine, vol. 177, no. 11 (November 2017), pp. 1569–1575, https://doi.org/10.1001/jamainternmed.2017.3601. + +18. See Barbara Bolten, “Fastest Drug Developers and Their Practices,” The CenterWatch Monthly, vol. 24, no. 8 (August 1, 2017), www.centerwatch.com/articles/13284%20. + +19. See IQVIA Institute for Human Data Science, The Changing Landscape of Research and Development (April 2019), p. 7, https://tinyurl.com/y2kpxve8. + +20. See Joseph A. DiMasi, Henry G. Grabowski, and Ronald W. Hansen, “Innovation in the Pharmaceutical Industry: New Estimates of R&D Costs,” Journal of Health Economics, vol. 47 (May 2016), pp. 23–24, https://doi.org/10.1016/j.jhealeco.2016.01.012. + +21. Ibid., pp. 24–25. The corresponding values in the study, reported in millions of 2013 dollars, are $965, $25.3, $58.6, and $255.4, respectively. + +22. The values reported here all use a 7 percent cost of capital, as each study includes calculations that use that rate. (In its analysis of the budgetary effects of H.R. 3 for the 116th Congress, CBO used an 8.1 percent cost of capital for drug R&D because that is CBO’s assessment of the cost; using a higher rate tends to slightly increase estimates of R&D costs.) See Congressional Budget Office, letter to the Honorable Frank Pallone Jr. regarding the budgetary effects of H.R. 3, the Elijah E. Cummings Lower Drug Costs Now Act (December 10, 2019), www.cbo.gov/publication/55936. CBO has converted the values reported here to 2019 dollars. + +23. See Joseph A. DiMasi, Henry G. Grabowski, and Ronald W. Hansen, “Innovation in the Pharmaceutical Industry: New Estimates of R&D Costs,” Journal of Health Economics, vol. 47 (May 2016), p. 26–27, https://doi.org/10.1016/j.jhealeco.2016.01.012. The values reported in the 2016 DiMasi study, in millions of 2013 dollars and using their central discount rate value of 10.5 percent, are $2,558, $1,098, and $1,460, respectively. + +24. Ibid., p. 20. + +25. For a critical review of the 2016 study by DiMasi and others, see Sammy Almashat, “Pharmaceutical Research Costs: The Myth of the $2.6 Billion Pill” (Public Citizen, September 2017), https://tinyurl.com/y4kb4xoq. + +26. See Christopher P. Adams and Van V. Brantner, “Estimating the Cost of New Drug Development: Is It Really $802 Million?” Health Affairs, vol. 25, no. 2 (March/April 2006), pp. 420–428, https://doi.org/10.1377/hlthaff.25.2.420. + +27. See Olivier J. Wouters, Martin McKee, and Jeroen Luyten, “Estimated Research and Development Investment Needed to Bring a New Medicine to Market, 2009–2018,” Journal of the American Medical Association, vol. 323, no. 9 (2020), pp. 844–853, https://doi.org/10.1001/jama.2020.1166. The study’s central published values differ from those reported above: they are expressed in 2018 dollars and use a 10.5 percent cost of capital. The authors also estimated R&D costs using a 7 percent discount rate. + +28. See Vinay Prasad and Sham Mailankody, “Research and Development Spending to Bring a Single Cancer Drug to Market and Revenues After Approval,” JAMA Internal Medicine, vol. 177, no. 11 (November 2017), pp. 1569–1575, https://doi.org/10.1001/jamainternmed.2017.3601. The estimates reported in the study are in 2017 dollars. + +29. See Joseph A. DiMasi, Henry G. Grabowski, and Ronald W. Hansen, “Innovation in the Pharmaceutical Industry: New Estimates of R&D Costs,” Journal of Health Economics, vol. 47 (May 2016), p. 20, https://doi.org/10.1016/j.jhealeco.2016.01.012. The estimate is based on the authors’ comparison of their 2016 findings with an estimate they published in 2007 ($1.2 billion, in 2005 dollars) using the same methods. See Joseph A. DiMasi and Henry G. Grabowski, “The Cost of Biopharmaceutical R&D: Is Biotech Different?” Managerial and Decision Economics, vol. 28, no. 4-5 (June–August 2007), pp. 469–479, https://doi.org/10.1002/mde.1360. + +30. See Joseph A. DiMasi, Henry G. Grabowski, and Ronald W. Hansen, “Innovation in the Pharmaceutical Industry: New Estimates of R&D Costs,” Journal of Health Economics, vol. 47 (May 2016), Table 1, https://doi.org/10.1016/j.jhealeco.2016.01.012. + +31. See Chi Heem Wong, Kien Wei Siah, and Andrew W. Lo, “Estimation of Clinical Trial Success Rates and Related Parameters,” Biostatistics, vol. 20, no. 2 (April 2019), pp. 273–286. https://doi.org/10.1093/biostatistics/kxx069; and Jorge Mestre-Ferrandiz, Jon Sussex, and Adrian Towse, The R&D Cost of a New Medicine (Office of Health Economics, United Kingdom, 2012). + +32. See Anup Malani and Tomas J. Philipson, Can Medical Progress Be Sustained? Implications of the Link Between Development and Output Markets, Working Paper 17011 (National Bureau of Economic Research, September 2012), www.nber.org/papers/w17011. + +33. See Darius N. Lakdawalla, “Economics of the Pharmaceutical Industry,” Journal of Economic Literature, vol. 56, no. 2 (June 2018), p. 401, https://doi.org/10.1257/jel.20161327. + +34. See Centers for Medicare & Medicaid Services, National Health Expenditures Data, “NHE Tables” (accessed December 16, 2020), Table 16, https://go.usa.gov/xASdV. In the table, the sum of expenditures by Medicare, Medicaid, and “Other Health Insurance Programs” (primarily the Veterans Health Administration, TRICARE, and the Children’s Health Insurance Program) accounts for 40 percent of total retail expenditures on prescription drugs in 2019. + +35. See Margaret E. Blume-Kohout and Neeraj Sood, “Market Size and Innovation: Effects of Medicare Part D on Pharmaceutical Research and Development,” Journal of Public Economics, vol. 97 (January 2013), pp. 327–336, https://doi.org/10.1016/j.jpubeco.2012.10.003; and David Dranove, Craig Garthwaite, and Manuel I. Harmosilla, Expected Profits and the Scientific Novelty of Innovation, Working Paper 27093 (National Bureau of Economic Research, May 2020), www.nber.org/papers/w27093. + +36. For an analysis of likely effects of such a policy change on individuals’ decisions about health insurance and consumption of health-care services in general, see Congressional Budget Office, Options for Reducing the Deficit: 2019 to 2028 (December 2018), pp. 235–236, www.cbo.gov/publication/54667. + +37. See Margaret E. Blume-Kohout, “Does Targeted, Disease-Specific Public Research Funding Influence Pharmaceutical Innovation?” Journal of Policy Analysis and Management, vol. 31, no. 3 (Summer 2012), pp. 641–660, https://doi.org/10.1002/pam.21640; and Michael R. Ward and David Dranove, “The Vertical Chain of Research and Development in the Pharmaceutical Industry,” Economic Inquiry, vol. 33, no. 1 (January 1995), pp. 70–87, https://tinyurl.com/z7huxuxv. + +38. See Kavya Sekar, National Institutes of Health (NIH) Funding, FY1995–FY2021, Report R43341, version 39 (Congressional Research Service, May 12, 2020), https://go.usa.gov/xshZu. Nominal funding levels have been adjusted for inflation by CBO using the gross domestic price index. + +39. Ekaterina Galkina Cleary and others, “Contribution of NIH Funding to New Drug Approvals 2010–2016,” Proceedings of the National Academy of Sciences, vol. 115, no. 10 (March 6, 2018), pp. 2329–2334. https://doi.org/10.1073/pnas.1715368115. + +40. Department of Health and Human Services, Office of the Assistant Secretary for Planning and Evaluation, Report to Congress: Prescription Drug Pricing (May 20, 2020), https://go.usa.gov/xAVns (PDF, 2.04 MB). + +41. See Paul A. David, Bronwyn H. Hall, and Andrew A. Toole, “Is Public R&D a Complement or Substitute for Private R&D? A Review of the Econometric Evidence,” Research Policy, vol. 29, no. 4–5 (April 2000), pp. 497–529, https://doi.org/10.1016/S0048-7333(99)00087-6; and Bettina Becker, “Public R&D Policies and Private R&D Investment: A Survey of the Empirical Evidence,” Journal of Economic Surveys, vol. 29, no. 5 (December 2015), pp. 917–942, https://doi.org/10.1111/joes.12074. + +42. For additional information, see Wendy H. Schacht, Federal R&D, Drug Discovery, and Pricing: Insights From the NIH-University-Industry Relationship, Report RL32324 (Congressional Research Service, November 30, 2012). + +43. See Andrew A. Toole, “Does Public Scientific Research Complement Private Investment in R&D in the Pharma-ceutical Industry?” Journal of Law & Economics, vol. 50, no. 1 (February 2007), pp. 81–104, https://doi.org/10.1086/508314. + +44. See Pierre Azoulay and others, “Public R&D Investments and Private-Sector Patenting: Evidence From NIH Funding Rules,” Review of Economic Studies, vol. 86, no. 1 (January 2019), pp. 117–15, https://doi.org/10.1093/restud/rdy034. + +45. See Austan Goolsbee, “Does Government R&D Policy Mainly Benefit Scientists and Engineers?” American Economic Review, vol. 88, no. 2 (May 1998), pp. 298–302, www.jstor.org/stable/116937. + +46. For example, only spending on research deemed to be “technological in nature” qualifies for the credit. See Congressional Budget Office, How Taxes Affect the Incentive to Invest in New Intangible Assets (November 2018), www.cbo.gov/publication/54648. + +47. For a history and description of the credit, see Gary Guenther, Research Tax Credit: Current Law and Policy Issues for the 114th Congress, Report RL31181, version 70 (Congressional Research Service, June 18, 2016), https://go.usa.gov/xshBx. + +48. See Congressional Budget Office, How Taxes Affect the Incentive to Invest in New Intangible Assets (November 2018), www.cbo.gov/publication/54648. + +49. Wesley Yin, “Market Incentives and Pharmaceutical Innovation,” Journal of Health Economics, vol. 27, no. 4 (2008), pp. 1060–1077. https://doi.org/10.1016/j.jhealeco.2008.01.002. + +50. See New Drug Product Exclusivity, 21 C.F.R. § 314.108 (2020). + +51. See Food and Drug Administration, “Biosimilar Development, Review, and Approval” (October 20, 2017), https://go.usa.gov/xASPs. + +52. See Food and Drug Administration, “Biosimilar Product Information” (December 17, 2020), https://go.usa.gov/xAVna. + +53. See IQVIA Institute for Human Data Science, Medicine Use and Spending in the U.S.: A Review of 2017 and Outlook to 2022 (April 2018), p. 11. https://tinyurl.com/y36l4bqt. + +54. See Food and Drug Administration, “Generic Drugs Undergo Rigorous FDA Scrutiny” (October 8, 2014), https://go.usa.gov/xAVRg, and “Biosimilar Development, Review, and Approval” (October 20, 2017), https://go.usa.gov/xAVR4. + +55. For biologics, see 42 U.S.C. § 262(k)(7)(A) (2018); for orphan drugs, see 21 U.S.C. § 360cc (2018); for small-molecule drugs, see § 355(j)(5)(F)(ii) (2018). Companies can receive an additional six months of exclusivity (beyond its patent exclusivity) if a drug—in any of its formulations, dosages, or approved indications—is designed for pediatric patients. See Food and Drug Administration, “Qualifying for Pediatric Exclusivity Under Section 505A of the Federal Food, Drug, and Cosmetic Act: Frequently Asked Questions on Pediatric Exclusivity” (November 30, 2016), https://go.usa.gov/xAVRP. + +56. See Darius N. Lakdawalla, “Economics of the Pharmaceutical Industry,” Journal of Economic Literature, vol. 56, no. 2 (June 2018), pp. 403–404, https://doi.org/10.1257/jel.20161327. + +57. See Revisions to Payment Policies under the Physician Fee Schedule and Other Revisions to Part B for CY 2018, 82 Fed. Reg. 52976, 53181 (November 15, 2017), www.govinfo.gov/app/details/FR-2017-11-15; and Tony Hagen, “Remove the Disincentives and Biosimilars Will Flourish,” The Center for Biosimilars (July 7, 2020), https://tinyurl.com/acq5f5t3. + +58. See Amy Finkelstein, “Static and Dynamic Effects of Health Policy: Evidence From the Vaccine Industry,” Quarterly Journal of Economics, vol. 119, no. 2 (May 2004), pp. 527–564, https://doi.org/10.1162/0033553041382166. + +59. See Congressional Budget Office, A Comparison of Brand-Name Drug Prices Among Selected Federal Programs (February 2021), www.cbo.gov/publication/56978. + +60. See Congressional Budget Office, letter to the Honorable Frank Pallone Jr. regarding the budgetary effects of H.R. 3, the Elijah E. Cummings Lower Drug Costs Now Act (December 10, 2019), www.cbo.gov/publication/55936; Christopher Adams and Evan Herrnstadt, CBO’s Model of Drug Price Negotiations Under the Elijah E. Cummings Lower Drug Costs Now Act, Working Paper 2021-01 (Congressional Budget Office, February 2021), www.cbo.gov/publication/56905. + +61. See Yan Song and Douglas Barthold, “The Effects of State-Level Pharmacist Regulations on Generic Substitution of Prescription Drugs,” Health Ecoomics, vol. 27, no. 11 (November 2018), pp. 1717-1737. https://doi.org/10.1002/hec.3796. + +62. See Stacie B. Dusetzina and others, “Medicare Part D Plans Rarely Cover Brand-Name Drugs When Generics Are Available,” Health Affairs, vol. 39, no. 8 (August 2020), pp. 1326–1333, https://doi.org/10.1377/hlthaff.2019.01694. + +63. The patent system enables imitation of innovation (such as generic copies of pioneering drugs) by requiring the innovator, in exchange for a patent on a pioneering drug, to disclose sufficient details about the invention to allow “a person having ordinary skill in the art” to replicate it when the patent expires. See 35 U.S.C. § 103 (2018). + +64. For legal protection against adverse-event liability, see Aaron S. Kesselheim, Jerry Avorn, and Jeremy A. Greene, “Risk, Responsibility, and Generic Drugs,” New England Journal of Medicine, vol. 367, no. 18 (November 1, 2012), pp. 1679–1681, https://doi.org/10.1056/NEJMp1208781. In the Hatch-Waxman Act, those provisions are balanced by the provision of stronger patent protections to drug innovators, including extension of the statutory period of patent protection by a portion of the time the drug is under FDA review, and five years of ensured market exclusivity before the FDA may approve the first generic copy of a pioneering drug. + +65. See Joseph P. Cook, Graeme Hunter, and John A. Vernon, Generic Utilization Rates, Real Pharmaceutical Prices, and Research and Development Expenditures, Working Paper 15723 (National Bureau of Economic Research, February 2010), www.nber.org/papers/w15723. + +66. See Carmelo Giaccotto, Rexford E. Santerre, and John A. Vernon, “Drug Prices and Research and Development Investment Behavior in the Pharmaceutical Industry,” Journal of Law and Economics, vol. 48, no. 1 (April 2005), pp. 194–214, https://doi.org/10.1086/426882; and F. M. Scherer, Industry Structure, Strategy, and Public Policy (Harper Collins, 1996). + +67. See Food and Drug Administration, “Bioavailability and Bioequivalence Studies Submitted in NDAs or INDs—General Considerations” (March 2014), https://go.usa.gov/xAV5f. + +68. For a comprehensive list of surrogate endpoints used, see Food and Drug Administration, “Table of Surrogate Endpoints That Were the Basis of Drug Approval or Licensure” (March 30, 2021), https://go.usa.gov/xASyF. + +69. See Eric Budish, Benjamin N. Roin, and Heidi Williams, “Do Firms Underinvest in Long-Term Research? Evidence from Cancer Clinical Trials,” American Economic Review, vol. 105, no. 7 (July 2015), pp. 2044–2085. https://doi.org/10.1257/aer.20131176. + +70. See Mark G. Duggan and William N. Evans, “Estimating the Impact of Medical Innovation: A Case Study of HIV Antiretroviral Treatments,” Forum for Health Economics and Policy, vol. 11, no. 2 (January 2008), pp. 1–37, https://doi.org/10.2202/1558-9544.1102. + +71. See Bishal Gyawali, Spencer Phillips Hey, and Aaron S. Kesselheim, “Assessment of the Clinical Benefit of Cancer Drugs Receiving Accelerated Approval,” JAMA Internal Medicine, vol. 179, no. 7 (May 28, 2019), pp. 906–913, https://doi.org/10.1001/jamainternmed.2019.0462. + diff --git a/reference/cost-barriers/21-data-sources.md b/reference/cost-barriers/21-data-sources.md new file mode 100644 index 00000000..9d7edc79 --- /dev/null +++ b/reference/cost-barriers/21-data-sources.md @@ -0,0 +1,15 @@ +### 2.1 Data Sources + +In constructing an operational model of clinical trial decision-making, we compiled information from a variety of sources, including: + +- Publically available literature; +- Interviews with experts, FDA personnel, drug sponsors, clinical research organizations (CROs) as well as major academic clinical research centers; +- April 2012 FDA public hearing on the subject of Modernizing the Regulation of Clinical Trials and Approaches to Good Clinical Practice; +- Medidata Solutions databases; + - Medidata Grants Manager® (PICAS® ) + - Medidata CRO Contractor® (CROCAS® ) + - Medidata Insights + +More information on the above data sources are provided below + +# diff --git a/reference/cost-barriers/211-publically-available-literature.md b/reference/cost-barriers/211-publically-available-literature.md new file mode 100644 index 00000000..caf0ac9d --- /dev/null +++ b/reference/cost-barriers/211-publically-available-literature.md @@ -0,0 +1,17 @@ +### 2.1.1 Publically Available Literature + +Although the literature on the early stages of the pharmaceutical decision-making process is not extensive, there is some research that has characterized the process. We used this information to help define the components of the model. Some examples are the work performed at the Massachusetts Institute of Technology (MIT) Center for Biomedical Innovation and the Clinical Trials Transformation Initiative (CTTI), a public-private partnership organization hosted by Duke University.4 + +Our literature search targeted several categories of literature: peer-reviewed articles in scientific journals, unpublished papers and presentations, white papers, gray literature, and news stories and occasional pieces appearing in newspapers and magazines or other print media outlets. Our search methodology featured systematic inquiries of the following databases: + +- PubMed for peer-reviewed healthcare and biomedical journals; +- Lexis/Nexis academic for mass media and other periodical publications; and +- PAIS, Scopus, Web of Knowledge, and Embase for gray literature. + +The search strategies differed for each category of literature and related database, but each query employed search terms in various combinations using logic strings, such as “clinical trial AND cost\*,” “barrier\* AND clinical trials,” “phase 1 clinical trial\* AND cost\*,”etc. + +--- + +4 CTTI comprises more than 60 organizations from across the clinical trial enterprise. Members include representatives of government agencies (the FDA, Centers for Medicare and Medicaid Services, Office of Human Research Protections, National Institutes of Health (NIH), and other national and international governmental bodies), industry representatives (pharmaceutical, biotechnology, device, and clinical research organizations), patient advocacy groups, professional societies, investigator groups, academic institutions, and other interested parties (Clinical Trials Transformation Initiative (CTTI), 2011). + +# diff --git a/reference/cost-barriers/212-discussions-with-experts-fda-personnel-drug-sponsors-contract-research-organizations-cros-and-academic-clinical-research-centers.md b/reference/cost-barriers/212-discussions-with-experts-fda-personnel-drug-sponsors-contract-research-organizations-cros-and-academic-clinical-research-centers.md new file mode 100644 index 00000000..04c2bfba --- /dev/null +++ b/reference/cost-barriers/212-discussions-with-experts-fda-personnel-drug-sponsors-contract-research-organizations-cros-and-academic-clinical-research-centers.md @@ -0,0 +1,13 @@ +### 2.1.2 Discussions with Experts, FDA Personnel, Drug Sponsors, Contract Research Organizations (CROs), and Academic Clinical Research Centers + +Some of the information needed to characterize the decision process of a drug sponsor came from semi-structured discussions with our team of experts and other industry experts, FDA personnel, drug sponsors, CROs, and primary clinical research centers, including University of Massachusetts, Johns Hopkins University, University of Michigan, and the Mayo Clinic. + +As the decision process varies between pharmaceutical and biotechnology companies as well as small and large firms, we interviewed representatives from these sectors and company sizes. We limited the number of interviews involving the same set of questions to fewer than 10. In total, we interviewed representatives from four small pharmaceutical/biotechnology companies; two large pharmaceutical/biotechnology companies; two CROs; and three independent expert consultants in addition to our team of experts. The expertise of those interviewed covered a wide range of therapeutic areas, including arthritis/pain/inflammatory diseases, cardiology, gastroenterology, immunology, metabolic diseases, ophthalmology, oncology, and infectious diseases. Of the six pharmaceutical/biotechnology companies interviewed, three had only a single U.S. office, while the other three had offices in multiple countries, which, in combination, span six continents. + +We first emailed potential participants a cover letter explaining the purpose of the study and encouraging participation in our interviews. Almost everyone contacted for the study agreed to be interviewed. Next, we scheduled interviews with those who responded and were willing to participate. Appendix A presents the protocol used in these interviews. In general, the questions asked in each interview were targeted to the background of the interviewee, but most interviewees were asked about all three topic areas (the clinical trials decision-making process, barriers, and costs). + +From these interviews, we collected information about how sponsors make the decision to move forward with the development of a new drug, the significance (in the respondents’ opinion and experience) of various cost components and barriers mentioned in the literature, and the types of changes they would advocate to address what they perceive as the most problematic barriers to conducting clinical trials in the U.S. This information helped us refine our model and was also used to more fully characterize the barriers to clinical trials and develop a list of potential barrier mitigation strategies. + +In addition to our interviews with industry representatives, we also spoke with individuals involved in CTTI and the MIT Center for Biomedical Innovation (as noted earlier; specifically, the New Drugs Development Paradigm project). These groups are working to enhance the drug development process through joint research with stakeholder groups in the public and private sectors. + +# diff --git a/reference/cost-barriers/213-medidata-solutions-databases.md b/reference/cost-barriers/213-medidata-solutions-databases.md new file mode 100644 index 00000000..7cc23df4 --- /dev/null +++ b/reference/cost-barriers/213-medidata-solutions-databases.md @@ -0,0 +1,11 @@ +### 2.1.3 Medidata Solutions Databases + +We used three proprietary databases on clinical trial costs, which are offered by Medidata Solutions, a global provider of cloud-based solutions for clinical research in life sciences, as part of the broad set of solutions available through the Medidata Clinical Cloud: + +- Medidata Grants Manager® (PICAS® database) – PICAS provides industry-wide negotiated site cost information. It is a database of negotiated investigator grants—it includes more than 250,000 grants and contracts and 27,000 protocols in over 1,400 indications—that provides benchmarked costs typically used for clinical trial budget planning. +- Medidata CRO Contractor® (CROCAS® database) – The CROCAS database contains thousands of negotiated outsourcing contracts. It includes comprehensive data from CRO contracts—detailed across such dimensions as therapeutic area, phase, and geography. +- Medidata Insights – Medidata Insights is the turnkey clinical analytics solution that provides advanced visualization of clinical operational performance metrics alongside company and industry benchmarks. The Insights metrics warehouse is comprised of data from more than 7,000 studies gathered seamlessly from over 120 clinical trial sponsors. + +We obtained custom aggregate tabulations from Medidata by therapeutic area, phase, and geography (domestic versus international) for the full range of cost elements associated clinical trials (averages as well as variances). Cost components included cost of IRB approvals, cost of protocols, patient recruitment costs, and administrative staff costs among others. Appendix B provides the Medidata data elements and their descriptions. + + diff --git a/reference/cost-barriers/22-conceptual-framework.md b/reference/cost-barriers/22-conceptual-framework.md new file mode 100644 index 00000000..3d8d6374 --- /dev/null +++ b/reference/cost-barriers/22-conceptual-framework.md @@ -0,0 +1,36 @@ +### 2.2 Conceptual Framework + +The literature review and discussions described above served to inform the conceptual framework for our model. We modeled the clinical trials decision-making process in the form of a decision tree that looks at the decision process from the point of view of an expected-revenue-maximizing sponsor in the face of uncertainty (or risk). + +To illustrate our approach to modeling clinical trial decision-making, we consider a highly simplified example adapted from Damodaran (2007)—the analysis of a New Molecular Entity (NME) for treating a hypothetical Indication X that has gone through preclinical testing and is about to enter Phase 1 clinical trials. Then we assume that we are provided with the following information (we explain the sources for this information in Section 2.4 below): + +- Phase 1 trial is expected to cost $30 million and to require 100 participants to determine safety and dosage. The trial is expected to last one year and there is a 67 percent likelihood that the drug will successfully complete the first phase. +- Phase 2 involves testing the NME’s effectiveness in treating Indication X on 250 participants over a period of around two years. This phase is expected to cost $45 million and the agent will need to demonstrate a statistically significant impact on a number of clinical endpoints to move on to the next phase. There is only a 41 percent likelihood that the drug will prove successful in treating Indication X. +- In Phase 3, the testing will be expanded to 4,000 patients. The phase will last four years and cost $210 million, and there is a 55 percent likelihood of success. +- Upon completion of Phase 3, the sponsor will need to submit an NDA to FDA paying a user fee of $2 million and there is an 83 percent likelihood of being approved. The NDA submission decision will take one year. +- Given the size of the patient population and average wholesale price for similar drugs, the net revenue stream for the NME, if it is approved, is estimated at $973 million over 15 years. +- The cost of capital for the sponsor is 15 percent. + +The decision tree for this NME can now be drawn, specifying the phases, the revenue at each phase, and their respective probabilities (see Figure 2). The decision tree depicted shows the likelihood of success at each phase and the marginal returns associated with each step. Since it takes time to go through the different phases of development, there is a time value effect that needs to be built into the expected returns computation for each path. The figure reflects the time value effect and computes the cumulative present value of returns from each path using the 15 percent cost of capital as the sponsor’s internal rate of discount. When time-discounted costs of conducting trials are subtracted from the present value of the returns, we are left with the net present value (NPV) of each possible outcome (Damodaran, 2007). + +**Figure 2: Drug Development Decision Tree Depicting Net Present Value (NPV) of Returns at Each Node** + +![Figure 2](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%202.png) + +In Figure 2, the yellow square is the root decision node of interest. It is the point at which the revenue-maximizing sponsor is deciding whether or not to pursue development of the drug. The green circles (event/chance nodes) represent the possibility of success or failure at each phase, with the probabilities associated with each possibility appearing to the left of each branch. Finally, the red triangles are the end nodes. To the right of each end node is the NPV of that outcome to the sponsor. For example, if the drug completed all phases and successfully reached the market, the NPV of the cost and revenue streams would be $973 million in this scenario. By contrast, if the sponsor pushed forward with development but the drug failed at some point, the sponsor would incur the costs of the clinical trials without earning any revenues. Therefore, the other outcome nodes represent negative NPVs. + +The dollar values appearing in bold next to the green chance nodes are calculated from right to left across the tree by multiplying the NPVs associated with each outcome by the probabilities of that outcome occurring. These dollar values thus represent the expected NPVs (eNPVs). For example, the eNPV at the start of the NDA/BLA review phase is equal to ($973 million × 83 percent) + (-$181 million × 17 percent), or $777 million. The $777 million can then be used to do the same calculation for the chance node at Phase 3, and so forth until the value at the first chance node can be calculated. This number, $59 million in this example, represents the eNPV to the sponsor of moving forward with the development project at the time when the decision is made to continue or abandon the new drug. This value reflects all of the possibilities that can unfold over time clearly depicting the sub-optimal choices that a revenue-maximizing sponsor should reject. The decision tree also characterizes the full range of outcomes, with the worst case scenario being failure in the NDA/BLA review stage to the best case scenario of FDA approval. + +Phase 4 post-marketing studies, as described earlier, do not appear in Figure 2 as part of the decision tree because they do not play a role in determining which branch or outcome node a new drug ends up on in the same way that Phase 1, 2, and 3 trials do. In other words, they take place after the drug is approved (if they take place at all), and the consequences of success/failure in Phase 4 are not within the scope of this model. However, Phase 4 costs, if they occur, can be reflected in the values shown in the tree. The cost of these studies would be discounted back to the start of the project (in the same way all of the other costs are) and included in the branch representing successful completion of all prior phases and approval of the new drug. As Phase 4 studies occur post-approval, no costs associated with Phase 4 would be included on the other branches (on which the drug is not approved). + +It is possible to examine the specifics of clinical trial formulation decisions in the context of this framework. For example, the availability of biomarkers for Indication X in the above example can decrease clinical trial costs by reducing the need to recruit large pools of patients and possibly reducing trial duration. Similarly, the use of adaptive designs can yield shorter and less expensive clinical studies.5 Both of these approaches can be evaluated with the use of the above framework by parameterizing (1) clinical trial event nodes so that costs associated with those events are scalable, and (2) clinical trial duration. + +The model framework is also amenable to accommodate the changing cost of capital evaluations of the sponsor. For example, in the example scenario described above, it is possible that an NME will be approved for a secondary indication as well as a primary indication. If the drug is used to treat multiple conditions, it may be the case that the sales and expected returns will be more stable than they would be if the drug were only approved for a single indication. To reflect this anticipated increase in stability, the drug sponsor may determine that it is more appropriate to use a lower discount rate than otherwise expected. + +Furthermore, in the context of the above basic framework, the barriers can be thought of as those factors that contribute to the cost of each event node and/or those that affect the probability of success. For example, a significant group of barriers to clinical trials are administrative. A study at the VanderbiltIngram Cancer Center and affiliated sites found that 17 to 30 major administrative steps were required to achieve approval of a clinical trial (Dilts & Sandler, 2006). All of these barriers result in increasing the cost of clinical trials, hence reducing the eNPV of drug development from the point of view of the drug sponsor. In the above model, alleviation of such barriers could be captured in the form of reduced clinical trial costs and possibly reduced duration. + +--- + +5 One topic often discussed with adaptive designs is the use of seamless Phase 2/3 studies. Some Phase 2 studies are similar to subsequent Phase 3 studies. The time between Phase 2 and Phase 3 can be decreased by viewing the Phase 2 study as a segment of the Phase 3 study. Even though this reduces the time to submission, it might also decrease the amount of information that can be gained relative to a complete and detailed Phase 2 program. In general, adaptive designs suffer from this criticism. + + diff --git a/reference/cost-barriers/23-operational-model.md b/reference/cost-barriers/23-operational-model.md new file mode 100644 index 00000000..fcc1afee --- /dev/null +++ b/reference/cost-barriers/23-operational-model.md @@ -0,0 +1,7 @@ +### 2.3 Operational Model + +Although the decision tree analysis format is invaluable in characterizing a range of clinical trial formulation possibilities, the modeling can become extremely complex as the number of event and decision nodes increases. Thus, while the operational model developed allows the user to enter customized cost scenarios in a certain therapeutic area, it does not allow for changes in the number of decision or event nodes. + +We developed the operational model in Microsoft Excel™ for ease of use and sharing, with a user interface coded in Visual Basic. The model is structured such that the user makes all selections through a guided user form, which enables the user to input project-specific values while the underlying worksheets and cost aggregation formula are protected from editing. The interface is designed to allow the user to compare a “custom” scenario, utilizing the values that he has entered in the user form, to a “default” scenario, which draws on average clinical trial costs and other parameters from the literature and data provided by Medidata Solutions (described in greater detail below). The model also allows for a blend of default and custom values as may be desired by the user. Further details on the uses and features of the model can be found in Appendix C. + + diff --git a/reference/cost-barriers/24-model-parameters.md b/reference/cost-barriers/24-model-parameters.md new file mode 100644 index 00000000..c5497232 --- /dev/null +++ b/reference/cost-barriers/24-model-parameters.md @@ -0,0 +1,65 @@ +### 2.4 Model Parameters + +The clinical trial cost/decision-making model described above requires numerous data points, including phase durations, success probabilities, expected revenues, and a discount rate, as well as a full range of itemized costs associated with clinical trials, broken down by phase and therapeutic area. The model uses a real annual discount rate of 15 percent based on input from interviews conducted with drug sponsors as default, and we were able to obtain some of the other data needed from the available clinical research literature. Phase durations were one such parameter. Though they are not differentiated by therapeutic area, DiMasi, Hansen, & Grabowski (2003) provide mean phase lengths of 21.6 months (1.8 years) for Phase 1, 25.7 months (2.1 years) for Phase 2, and 30.5 months (2.5 years) for Phase 3. The NDA/BLA review time, as we are defining it,6 includes the time from first submission of an NDA/BLA to regulatory marketing approval, and comes from DiMasi, Grabowski, & Vernon (2004). Trial phase times generally do not reflect differences between therapeutic areas; however, therapeutic-area-specific NDA/BLA review times were available and used for a select list of therapeutic areas. + +Clinical trial success probabilities are available from two recent studies, one conducted by DiMasi and colleagues (Tufts University) in 2010 (DiMasi, Feldman, Seckler, & Wilson, 2010), and another one conducted by BioMedTracker in 2011(Hay, Rosenthal, Thomas, & Craighead, 2011). The two studies, however, provide different success rate estimates—for example, DiMasi, et al. (2010) found an overall success rate of 19 percent, while Hay and colleagues (2011) arrived at nine percent. The differences in the two studies can be attributable to the fact that they were drawing from different pools of data. DiMasi, et al. (2010) collected data on 1,738 drugs that entered Phase 1 between 1993 and 2004 and were developed by the 50 largest pharmaceutical companies. The BioMedTracker study covered 4,275 drugs from biotechnology and pharmaceutical companies of all sizes. The drugs included were in any phase of development between October 2003 and December 2010 (Hay, Rosenthal, Thomas, & Craighead, 2011). + +As the BioMedTracker study was more recent and included more drugs and a broader range of companies, we opted to use the success probabilities reported by BioMedTracker in our model. These success probabilities were broken down by clinical trial phase and, for Phase 2 and Phase 3, by therapeutic area as well. For Phase 1, we used 67 percent for all therapeutic areas. For Phases 2 and 3 and the NDA/BLA review phase, we used therapeutic-area-specific percentages where available and general success probabilities (41, 65, and 83 percent, respectively) for therapeutic areas for which no specific probabilities were reported. All probabilities used in the model were for lead indications. + +In order to construct the model’s “baseline scenario,” we obtained itemized clinical trial cost data from Medidata Solutions (hereafter “Medidata”), which compiles data from a portfolio of CRO contracts, investigator grants/contracts, and clinical trial protocols. Medidata Grants Manager’s database, PICAS® , and CRO Contractor’s database, CROCAS® , contain numerous data elements derived from actual negotiated contracts, and these resources are widely used by pharmaceutical companies, CROs, and academic researchers to identify prevailing rates for trial planning, budget development, and grant negotiation (Medidata Solutions, 2012). We obtained the number of clinical investigator sites per study/protocol from Medidata Insights™, based on 7,000 study protocols that allows numerous views of study performance metrics on demand, by therapeutic area, study phase, geography and more. + +The custom tabulation received from Medidata contained means and variances for a wide range of clinical trial cost elements, including study-level costs (such as IRB approvals and source data verification (SDV) costs), patient-level costs (such as recruitment and clinical procedure costs), and sitelevel costs (such as monitoring and project management). Number of planned patients per site and number of sites per study were also provided. A complete list of these data elements can be found in Appendix B, along with more detailed descriptions of each field, unit specifications, and sources. The data are from 2004 and later and have not been adjusted for inflation by Medidata. As the data points represent averages across this range of time and cannot be assigned specific years, we were unable to adjust them for inflation, which is one of the study limitations. + +Medidata provided means and variances of costs by trial phase (Phases 1 through 4), geographic region (U.S., global, and rest of world), and therapeutic area. For the purposes of this analysis, we focused on the data points specific to U.S. trials. The therapeutic areas for which Medidata provided data were: anti-Infective, cardiovascular, central nervous system, dermatology, devices and diagnostics7 , endocrine, gastrointestinal, genitourinary System, hematology, immunomodulation, oncology, ophthalmology, pain and anesthesia, pharmacokinetics8 , and respiratory system. To the extent possible, we attempted to match the success probabilities by therapeutic area (from BioMedTracker) to the therapeutic area categories used by Medidata. Some additional data cleaning steps were performed using the statistical software STATA; these are outlined in Appendix E. + +On the revenue side, we used an estimate from a study by DiMasi, Grabowski, & Vernon, (2004), which reports worldwide sales revenues over the product life cycle for new drugs approved in the United States during the period from 1990 to 1994. Figures were available for some specific indications; for the others, we used the reported figure for “All Drugs.” The numbers reported by DiMasi, Grabowski, & Vernon (2004) are NPVs, discounted at 11 percent to the launch year; however, they are in year 2000 dollars. Therefore, we inflated the revenue figures to 2008 dollars (the midpoint between 2004 and 2012, the range covered by the itemized cost data) using the producer price index for commodities in the category “Drugs and Pharmaceuticals” from the Bureau of Labor Statistics (BLS) (series WPU063). + +--- + +6 From FDA’s perspective, each submission has a set time period (priority or non-priority review) that does not include time between submissions; however that time is included in our definition of the NDA/BLA review phase time for the purposes of this analysis. + +7 The “Devices and Diagnostics” category includes any industry-sponsored studies where a device or drug delivery system is being studied instead of a drug. Among the devices included in this category are stents, implants, joint replacements, inhalers, and blood sugar monitoring devices. + +8 Pharmacokinetic (PK) studies are often conducted at the discovery or candidate selection stages of a development program. These studies look at the mechanisms of absorption and distribution of a drug candidate as well as the rate at which a drug action begins and the duration of this effect. + +## 3 Analysis of Costs + +We worked closely with Medidata to determine the appropriate methodology for aggregating the itemized costs that characterize the overall cost of a clinical trial. To obtain totals for each individual trial within a given phase, we grouped the cost components into per-study costs, per-patient costs, and per-site costs, where: + +- Per-study costs is the sum of: + - _Data Collection, Management and Analysis Costs (per study);_ + - _Cost Per Institutional Review Board (IRB) Approval × Number of IRB Approvals (per study);_ + - _Cost Per IRB Amendment × Number of IRB Amendments (per study);_ + - _SDV Cost (per data field) × Number of SDV Fields (per study); and_ + - _The total of all per-site costs listed below, multiplied by Number of Sites (per study);_ +- _​_Per-site costs is the sum of: + - _The total of all per-patient costs listed below, multiplied by Number of Planned Patients (per site);_ + - _Site Recruitment Costs (per site);_ + - _Site Retention Costs (per month) × Number of Site Management Months;_ + - _Administrative Staff Costs (per month) × Number of Project Management Months; and_ + - _Site Monitoring Costs (per day) × Number of Site Monitoring Days;_ +- _​_Per-patient costs is the sum of: + - _Patient Recruitment Costs (per patient);_ + - _Patient Retention Costs (per patient);_ + - _Registered Nurse (RN)/Clinical Research Associate (CRA) Costs (per patient);_ + - _Physician Costs (per patient);_ + - _Clinical Procedure Total (per patient); and_ + - _Central Lab Costs (per patient);_ + +_​_To arrive at a best approximation of the cost total for the trial, two additional costs had to be added in: site overhead and all other additional costs not captured in the itemized categories listed above. We first added site overhead as a percentage of the sum of the above per-study costs (roughly 20 to 27 percent of the above per-study costs as estimated by Medidata). 9 According to Medidata, the computed per-study costs plus the 25 percent site overhead only accounts for approximately 70 percent of total trial costs. Still missing from this total are costs for sponsors to run the study and other costs not captured elsewhere. Thus, we estimated an additional cost category, “_All Other Costs_” as 30 percent of the sum of computed per-study costs and the 25 percent site overhead to ensure accuracy of our totals. + +We applied the cost aggregation methodology outlined above to all trials within Phases 1, 2, 3, and 4. In the operational model developed, if the user specifies that the study will include more than one trial per phase, the cost totals for each trial are summed to get an overall total cost for the phase. + +Adding the lengths of time associated with each trial within a phase was somewhat more complex, as there are a range of possibilities. One possibility is that all trials within a given phase are completed concurrently, in which case the total length of time for the phase would be equal to the maximum length of time needed to complete any individual trial within that phase. For example, if there were two Phase 2 trials, and one took 1.5 years, while the other took 2 years, the total length of Phase 2 would be 2 years, assuming the trials were completed at the same time. At the other extreme end of the spectrum, the trials within a phase might be completed sequentially with no overlap, in which case the lengths of time specified would need to be summed to arrive at the total phase length. In the previous example, this would mean that the total length of Phase 2 is 1.5 plus 2, or 3.5 years. To take into account both extremes and all possibilities in between, we assumed that the phase length in years across all trials associated with a given phase is the average of these two measures (the maximum trial length specified and the total of all lengths specified). It should be noted that if only one trial is specified for a given phase in the operational model, this average will simply be equal to the length given for that trial. + +The operational model discounts the total costs for each phase back to Year 0 (before Phase 1 trials are started) using the real annual discount rate (15 percent for the default scenario). Further, the model assumes that all costs associated with each phase are incurred at the start of the phase; therefore, Phase 1 costs are not discounted, Phase 2 costs are discounted over the length of Phase 1, Phase 3 costs are discounted over the combined lengths of Phases 1 and 2, and so forth. + +While we apply discounting to trial costs in the operational model, the analysis presented below is based on raw (i.e., un-discounted) cost figures. Further, we exclude Devices & Diagnostics as well as Pharmacokinetics categories from the analysis below as these are not within the scope of this study.10 + +--- + +9 Site overhead is not always applied to all costs in a negotiated clinical investigator contract by the clinical site. In some cases, the site may negotiate overhead only on certain portions of the contract such as clinical procedures. Thus, 25 percent of total per-study costs is likely to be an overestimate of actual overhead costs per study. + +10 Because the data were available for both categories, we left them in the operational model. + + diff --git a/reference/cost-barriers/31-costs-by-therapeutic-area.md b/reference/cost-barriers/31-costs-by-therapeutic-area.md new file mode 100644 index 00000000..1b774408 --- /dev/null +++ b/reference/cost-barriers/31-costs-by-therapeutic-area.md @@ -0,0 +1,36 @@ +### 3.1 Costs by Therapeutic Area + +Table 1 presents the total costs for each of the therapeutic areas included in our model by clinical trial phase (assuming one trial per phase and not inclusive of failures). From the table, immunomodulation per-study costs ($6.6 million) are the highest in Phase 1 with costs of studies in ophthalmology ($5.3 million) and respiratory system ($5.2 million) ranking second and third, respectively. In Phase 2, hematology trial costs ($19.6 million) rank first, followed by pain and anesthesia ($17.0 million) and immunomodulation ($16.0 million). The most costly Phase 3 studies are in pain and anesthesia ($52.9 million) with studies in ophthalmology ($30.7 million) and cardiovascular ($25.2) area ranking second and third, respectively. In Phase 4, respiratory system trial costs ($72.9 million) rank first, followed by oncology ($38.9 million) and pain and anesthesia ($32.1 million) study costs. Overall, the therapeutic area with the highest clinical research burden across all phases is respiratory system ($115.3 million) followed by pain and anesthesia ($105.4 million) and oncology ($78.6 million) trials (see Figure 3). On the other hand, trials in central nervous system, dermatology, and genitourinary system tend to cost the least overall. + +**Table 1: Total Per-Study Costs (in $ Millions), by Phase and Therapeutic Area \[a\] \[b\]** + +| Therapeutic Area | Phase 1 | Phase 2 | Phase 3 | Phase 1, 2, & 3 Subtotal \[d\] | FDA NDA/BLA Review Phase \[c\] | Phase 4 | Total \[d\] | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Anti-Infective | $4.2 (5) | $14.2 (6) |  $22.8 (5) | $41.2 (3) | $2.0 | $11.0 (12) | **$54.2 (10)** | +| Cardiovascular | $2.2 (9) | $7.0 (13) | $25.2 (3) | $34.4 (10) | $2.0 | $27.8 (4) | **$64.1 (6)** | +| Central Nervous System | $3.9 (6) | $13.9 (7) | $19.2 (7) | $37.0 (6) | $2.0 | $14.1 (11) | **$53.1 (11)** | +| Dermatology | $1.8 (10) | $8.9 (12) | $11.5 (13) | $22.2 (13) | $2.0 | $25.2 (7) | **$49.3 (12)** | +| Endocrine | $1.4 (12) | $12.1 (10) | $17.0 (9) | $30.5 (12) | $2.0 | $26.7 (6) | **$59.1 (7)** | +| Gastrointestinal | $2.4 (8) | $15.8 (4) | $14.5 (11) | $32.7 (11) | $2.0 | $21.8 (8) | **$56.4 (8)** | +| Genitourinary System | $3.1 (7) | $14.6 (5) | $17.5 (8) | $35.2 (8) | $2.0 | $6.8 (13) | **$44.0 (13)** | +| Hematology | $1.7 (11) | $19.6 (1) | $15.0 (10) | $36.3 (7) | $2.0 | $27.0 (5) | **$65.2 (5)** | +| Immunomodulation | $6.6 (1) | $16.0 (3) | $11.9 (12) | $34.5 (9) | $2.0 | $19.8 (9) | **$56.2 (9)** | +| Oncology | $4.5 (4) | $11.2 (11) | $22.1 (6) | $37.8 (5) | $2.0 | $38.9 (2) | **$78.6 (3)** | +| Ophthalmology | $5.3 (2) | $13.8 (8) | $30.7 (2) | $49.8 (2) | $2.0 | $17.6 (10) | **$69.4 (4)** | +| Pain and Anesthesia | $1.4 (13) | $17.0 (2) | $52.9 (1) | $71.3 (1) | $2.0 | $32.1 (3) | **$105.4 (2)** | +| Respiratory System | $5.2 (3) | $12.2 (9) | $23.1 (4) | $40.5 (4) | $2.0 | $72.9 (1) | **$115.3 (1)** | + +\[a\] The numbers in parentheses represent the rank in descending order. +\[b\] The cost for each phase assumes that a single trial (i.e., study) is conducted. +\[c\] The category represents the New Drug Application (NDA)/Biologic License Application (BLA) filing fee for an application requiring clinical data and does not include any establishment or product fees that the filing entity might need to pay in addition. +\[d\] Totals may not add up due to rounding. + +--- + +**Figure 3: Clinical Trial Costs (in $ Millions) by Phase and Therapeutic Area** + +![Figure 3: Clinical Trial Costs (in $ Millions) by Phase and Therapeutic Area](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%203.png) + +As can be observed from Table 1, Phase 2 costs are lower than Phase 3 costs for all but three therapeutic areas: gastrointestinal, hematology, and immunomodulation. This somewhat counterintuitive relationship is due to a variety of factors, including higher data collection costs, administrative staff costs, and site recruitment costs in Phase 2 than in Phase 3 for these therapeutic areas. + + diff --git a/reference/cost-barriers/32-costs-by-trial-phase.md b/reference/cost-barriers/32-costs-by-trial-phase.md new file mode 100644 index 00000000..44b8929d --- /dev/null +++ b/reference/cost-barriers/32-costs-by-trial-phase.md @@ -0,0 +1,23 @@ +### 3.2 Costs by Trial Phase + +To compare average costs by phase across all therapeutic areas, we computed a weighted mean cost, ![Xij](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/xij.png), and its weighted standard deviation, _sij_ , , for each cost component, _i_, and clinical trial phase, _j_, where the weights are the total number of contracts (i.e., sum of investigator and contractor contracts contributing to the PICAS® and CROCAS® datasets11) such that + +![Formula1: Compare average costs](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Formula1.png) + +where _wj_ is the total number of contracts available for the phase and therapeutic area, _k_, combination; _xijk _ is the reported mean for cost component _i_, clinical trial phase _j_, and therapeutic area _k_;![Xij](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/xij.png) is the simple average of cost component _i_ for that phase _j_ across all therapeutic areas;_Ni_ is the number of therapeutic areas that are associated with the phase in question; and _Ni'_ is the number of non-zero weights. As one would expect, the average per-study costs across all therapeutic areas increase as clinical development proceeds from Phase 1 to Phases 2 and 3 (see Figure 4). + +**Figure 4: Average Per-Study Costs by Phase (in $ Millions) Across Therapeutic Areas** + +![Figure 4: Average Per-Study Costs by Phase (in $ Millions) Across Therapeutic Areas](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%204.png) + +Note: The error bars represent one standard deviation below and above the mean. + +--- + +While average Phase 4 study costs are equivalent to those of Phase 3, there is high degree of variability in Phase 4 costs across the different therapeutic areas. + +--- + +11 The number of contracts by therapeutic area and trial phase cannot be publicly reported because they are confidential and proprietary. + + diff --git a/reference/cost-barriers/33-costs-by-cost-component.md b/reference/cost-barriers/33-costs-by-cost-component.md new file mode 100644 index 00000000..cef993ca --- /dev/null +++ b/reference/cost-barriers/33-costs-by-cost-component.md @@ -0,0 +1,33 @@ +### 3.3 Costs by Cost Component + +Table 2 presents clinical trial costs by cost component across all therapeutic areas by trial phase. Similar to our evaluation of costs by trial phase discussed in Section 3, when averaging costs across therapeutic areas, we weighted the data by the number of contracts available by therapeutic area. Excluding the _All Other Costs_ and _Site Overhead_ cost components as these are extrapolated numbers, in Phase 1, _Clinical Procedure Costs_ ($476,000) are the highest, followed by _SDV costs_ ($326,000) and _Central Laboratory Costs_ ($252,000). In Phase 2, expenditures that contribute the most to overall costs in descending order include _Clinical Procedure Costs_ ($1.5 million), _Administrative Staff Costs_ ($1.3 million), _Site Retention Costs_ ($1.1 million), _Site Monitoring Costs_ ($1.1 million), _Central Laboratory Costs_ ($804,000), and RN/CRA Costs ($441,000). Even though they are still sizable and higher in absolute terms than those in Phase 1, SDV Costs only constitute three percent (= $406,038 ÷ $13.35 million) of total per-study Phase 2 costs whereas in Phase 1 their share of total per-study costs is around nine percent (= $326,437 ÷ $3.80 million). Similar to Phase 2, _Clinical Procedure Costs_ ($2.3 million), _Administrative Staff Costs_ ($2.3 million), _Site Retention Costs_ ($1.3 million), _Site Monitoring Costs_ ($1.6 million), _Central Laboratory Costs_ ($849,000), and _RN/CRA Costs_ ($940,000) contribute the most to overall per-study Phase 3 costs. In Phase 4, _Administrative Staff Costs_ ($3.3 million) rank the highest, followed by _Site Retention Costs_ ($1.8 million), and _Clinical Procedure Costs_ ($1.7 million). While not insignificant in dollar terms, _Patient Recruitment_ Costs only account for 1.7 to 2.7 percent of overall costs across different clinical trial phases. + +**Table 2: Clinical Trial Costs, by Cost Component, Phase, and Therapeutic Area \[a\] \[b\]** + +| Cost Component | Phase 1 | Phase 2 | Phase 3 | Phase 4 | +| --- | --- | --- | --- | --- | +| $ | % of Subtotal | $ | % of Subtotal | $ | % of Subtotal | $ | % of Subtotal | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Data Management Costs | $50,331 ($8,467) | 2.36% | $59,934 ($21,060) | 0.79% | $39,047 ($19,416) | 0.34% | $49,702 ($9,489) | 0.44% | +| Cost Per IRB Approvals | $11,962 ($6,305) | 0.56% | $60,188 ($16,092) | 0.79% | $114,118 ($46,404) | 1.00% | $137,813 ($112,543) | 1.21% | +| Cost of IRB Amendments | $1,094 ($255) | 0.05% | $1,698 ($447) | 0.02% | $1,919 ($277) | 0.02% | $1,636 ($302) | 0.01% | +| SDV Costs | $326,437 ($65,659) | 15.32% | $406,038 ($80,573) | 5.34% | $400,173 ($66,429) | 3.52% | $353,602 ($62,942) | 3.10% | +| Patient Recruitment Costs | $37,050 ($21,666) | 1.74% | $161,140 ($102,066) | 2.12% | $308,672 ($174,702) | 2.71% | $298,923 ($252,042) | 2.62% | +| Patient Retention Costs | $6,145 ($4,745) | 0.29% | $15,439 ($6,970) | 0.20% | $24,727 ($15,868) | 0.22% | $30,568 ($40,466) | 0.27% | +| RN/CRA Costs | $178,237 ($90,473) | 8.36% | $441,053 ($140,390) | 5.80% | $939,540 ($614,943) | 8.25% | $820,775 ($880,644) | 7.20% | +| Physician Costs | $109,681 ($57,626) | 5.15% | $381,968 ($117,217) | 5.03% | $805,508 ($499,426) | 7.08% | $669,464 ($402,072) | 5.88% | +| Clinical Procedure Total | $475,667 ($371,586) | 22.32% | $1,476,368 ($633,448) | 19.43% | $2,252,208 ($1,033,618) | 19.79% | $1,733,576 ($2,251,401) | 15.22% | +| Central Lab Costs \[d\] | $252,163 ($203,342) | 11.83% | $804,821 ($313,577) | 10.59% | $849,180 ($600,134) | 7.46% | $419,758 ($377,823) | 3.68% | +| Site Recruitment Costs | $51,904 ($32,814) | 2.44% | $233,729 ($83,799) | 3.08% | $395,182 ($195,983) | 3.47% | $168,343 ($101,311) | 1.48% | +| Site Retention Costs | $193,615 ($79,974) | 9.09% | $1,127,005 ($544,068) | 14.83% | $1,305,361 ($1,382,296) | 11.47% | $1,835,341 ($1,335,892) | 16.11% | +| Administrative Staff Costs | $237,869 ($128,547) | 11.16% | $1,347,390 ($427,859) | 17.73% | $2,321,628 ($1,910,047) | 20.40% | $3,323,081 ($2,534,406) | 29.17% | +| Site Monitoring Costs | $198,896 ($128,142) | 9.33% | $1,083,186 ($392,798) | 14.25% | $1,624,874 ($717,034) | 14.28% | $1,549,761 ($979,371) | 13.60% | +| **Subtotal (in $ Million)** | **$2.13 ($0.86)** | **100%** | **$7.60 ($1.46)** | **100%** | **$11.38 ($4.93)** | **100%** | **$11.39 ($8.53)** | **100%** | +| Site Overhead \[c\] | $528,685 ($235,862) | NA | $1,741,811 ($302,049) | NA | $2,541,313 ($1,091,082) | NA | $2,575,007 ($2,082,161) | NA | +| All Other Costs \[c\] | $1,139,887 ($468,077) | NA | $4,003,615 ($752,108) | NA | $5,967,193 ($2,577,692) | NA | $5,986,008 ($4,543,505) | NA | +| **Total (in $ Million)** | **$3.80 ($1.56)** | **NA** | **$13.35 ($2.51)** | **NA** | **$19.89 ($8.59)** | **NA** | **$19.95 ($15.15)** | **NA** | + +NA = Not applicable. Note that the reported numbers represent weighted average costs and standard deviations. +\[a\] The numbers in parentheses represent standard deviations. \[b\] The cost for each phase assumes that a single trial (i.e., study) is conducted. \[c\] These are extrapolated figures based on those cost components for which estimates were available from Medidata. \[d\] Please note that Phase 1 study sites tend to have inhouse or local labs as opposed to central labs. + + diff --git a/reference/cost-barriers/34-conclusions.md b/reference/cost-barriers/34-conclusions.md new file mode 100644 index 00000000..a054dd6c --- /dev/null +++ b/reference/cost-barriers/34-conclusions.md @@ -0,0 +1,21 @@ +### 3.4 Conclusions + +Our study suggests that therapeutic area as well as number and types of clinical procedures involved are the key drivers of costs in Phase 1 through Phase 4 studies. The therapeutic areas with the highest per-study costs in Phase 1 is immunomodulation ($6.6 million), in Phase 2 is hematology ($19.6 million), in Phase 3 is pain and anesthesia ($52.9 million), and in Phase 4 is respiratory system ($72.9 million). Figure 5 presents an overview of the different types of costs constituting each phase and their magnitudes. The denoted error bars represent one standard deviation below and above the mean value. + +**Figure 5: Per-study Costs across All Therapeutic Areas, by Cost Component and Phase** + +**![Phase 1 Trial Costs by Component](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%205.png)** + +**![Phase 2 Trial Costs by Component](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%206.png)** + +**![Phase 3 Trial Costs by Component](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%207.png)** + +**![Phase 4 Trial Costs by Component](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%208.png)** + +Excluding site overhead costs and costs for sponsors to monitor the study, the top cost drivers of clinical trial expenditures across all study phases are _Clinical Procedure_ (15 to 22 percent), _Administrative Staff_ (11 to 29 percent), _Site Monitoring_ (nine to 14 percent), _Site Retention_ (nine to 16 percent), and _Central Laboratory_ (four to 12 percent) costs (see Table 2 above). + +## 4 Barriers to Clinical Trials + +Broadly speaking, the major obstacles to conducting clinical trials in the United States identified through this research include: high financial cost, the lengthy time frames, difficulties in recruitment and retention of participants, insufficiencies in the clinical research workforce, drug sponsor-imposed barriers; regulatory and administrative barriers, the disconnect between clinical research and medical care, and barriers related to the globalization of clinical research. We discuss each of these in further detail below. + + diff --git a/reference/cost-barriers/41-high-financial-cost.md b/reference/cost-barriers/41-high-financial-cost.md new file mode 100644 index 00000000..fbeccea5 --- /dev/null +++ b/reference/cost-barriers/41-high-financial-cost.md @@ -0,0 +1,19 @@ +### 4.1 High Financial Cost + +The largest barrier to conducting clinical research—and the one into which most other barriers feed—is the high cost. Studies estimate that it now costs somewhere between $161 million and $2 billion to bring a new drug to market (DiMasi, Hansen, & Grabowski, 2003; Adams & Brantner, 2006; Morgan, Grootendorst, Lexchin, Cunningham, & Greyson, 2011). One particularly well-known and often-cited paper by DiMasi, Hansen, & Grabowski (2003) arrives at a total pre-approval cost estimate of $802 million in 2000 dollars to develop a single drug (inflated to 2012 dollars, this estimate is $1.07 billion) (DiMasi, Hansen, & Grabowski, 2003; U.S. Bureau of Labor Statistics, 2012). More recent estimates of drug development costs are around $1.3 billion to $1.7 billion (Collier, 2009). It is important to note that the DiMasi, Hansen, & Grabowski (2003) estimate and many others in the literature represent fully capitalized costs and are inclusive of failures. + +The DiMasi, Hansen, & Grabowski (2003) research on this topic is sponsored by the Tufts Center for the Study of Drug Development (CSDD) and has been the subject of much debate among researchers. Light & Warburton (2005) contend that the $802 million figure is far too high due to “problems with the data and sampling,” specifically small sample size, differences in cost allocation methods over time and across companies, upward biases in industry-reported costs, the types of drugs included, and failure to adjust for government subsidies or tax deductions/credits. Light and Warburton (2005) are also critical of the authors’ use of proprietary and confidential data which precludes independent verification (Light & Warburton, 2005). DiMasi et al. (2003) address these concerns in replies, stating that the accuracy of their results is bolstered by cross-checks against other sources and validation by the U.S. Office of Technology Assessment (DiMasi, Hansen, & Grabowski, 2005). Adams & Brantner (2006) also sought to replicate the findings of DiMasi, et al. (2003) using publicly available data. They arrived at a cost estimate of $868 million, suggesting that $802 million might actually be an underestimate. The authors caution, however, that estimated costs vary widely, depending on drug type, therapeutic area, regulatory policies, and strategic decision-making by drug sponsors. Thus, policymakers should be careful about using a single number to characterize drug development costs (Adams & Brantner, 2006). + +Although experts debate the accuracy of various cost estimates, there is widespread agreement that clinical trial costs are substantial and rising. According to a 2007 article, the average cost of developing a drug had risen at a rate 7.4 percent higher than inflation over the past two decades, mostly due to rising clinical trial costs (Collier, 2009). Costs also tend to increase as a drug progresses through each phase of the pipeline, and, as the Institute of Medicine (IOM) notes, Phase 3 clinical trials have become “extraordinarily expensive” (English, Lebovitz, & Giffin, 2010). DiMasi, Hansen, & Grabowski (2003) report that the mean costs per investigational drug entering a phase are $15.2 million for Phase 1, $23.5 million for Phase 2, and $86.3 million for Phase 3. Using publicly available data and a larger sample size than DiMasi, et al., (2003), Adams & Brantner (2010) estimate the average expenditure per drug in human clinical trials at around $27 million per year, with $17 million per year on drugs in Phase 1, $34 million per year on drugs in Phase 2, and $27 million per year on drugs in Phase 3 of the trials. Note that DiMasi, et al. (2003) present costs for the average drug over the entire length of each phase, while Adams & Brantner (2010) present expenditures for one year. Multiplying the latter by average phase durations yields estimates of $24 million, $86 million, and $61 million for Phases 1, 2, and 3, respectively (Adams & Brantner, Spending on new drug development, 2010). + +While the reasons for these high costs are manifold, a few key macro-level trends stand out. One contributing factor is the productivity of the drug industry in past years. High levels of investment in research and development have yielded so many drugs that companies are now finding it difficult to develop truly innovative pharmaceuticals. As a result, most new drugs are actually just variations of existing drugs, intended to be only incrementally more effective or safer than those already on the market. Detection of such small, incremental improvements requires studies with large numbers of patients (Collier, 2009), and with greater numbers of participants comes greater expenditure on recruitment efforts, data collection, compliance with administrative requirements, and other trial components. + +In addition, there has been a shift in the biopharmaceutical industry toward chronic and degenerative disease research, which, given the aging of a large segment of the population, has the potential to secure steady and sizeable revenue streams for companies who can capture a share of these markets (Collier, 2009; DiMasi, Hansen, & Grabowski, 2003). On the other hand, however, clinical trials for these chronic conditions (such as arthritis, dementia, and cardiac diseases) tend to involve complex and expensive testing, large numbers of patients, and long timeframes, as extended drug exposure is required in order to identify potential long-term effects. Multiplying these long-term data requirements by large numbers of patients yields enormous volumes of data that must be collected, processed, analyzed, and reported, all at great cost to the sponsor. + +Another significant trend contributing to higher clinical trial costs is the increased use of health care cost containment strategies, such as tiered formularies and cost-effectiveness data requirements, in the United States and other countries. In response to these measures, drug sponsors might choose to devote more of their clinical research budgets to trials that compare their drug to a competitor drug, as opposed to trials that compare their drug to a placebo. As discussed above, this can lead to increased expenses, as larger trial sizes are needed to demonstrate statistical significance in comparisons of multiple drugs (DiMasi, Hansen, & Grabowski, 2003). + +Other cost drivers, which are discussed in more detail in subsequent sections, include increasingly complex clinical trial protocols, conservative approaches to data and site monitoring, and delays caused by differing interpretations of requirements by different parties involved in multicenter trials (Collier, 2009). + +The increasing cost of clinical research has significant implications for public health, as it affects drug companies’ willingness to undertake clinical trials. Many companies are taking their trial operations—and their research dollars—to other countries, such as India and China, where trial costs can be up to 60 percent lower (Collier, 2009). Some researchers argue that rising clinical trial costs have made the industry as a whole more risk averse; with such large sums of money at stake, sponsors are less willing to take chances on novel drugs (Collier, 2009). Clinical research centers are also more closely scrutinizing the types of clinical trials they will take on, out of concern that certain projects will fail to be profitable and put them in a deficit (e.g., due to complicated protocols or low per-patient grant amounts) (Collier, 2009; Getz K. A., 2010a). + + diff --git a/reference/cost-barriers/42-lengthy-timelines.md b/reference/cost-barriers/42-lengthy-timelines.md new file mode 100644 index 00000000..66fcd5eb --- /dev/null +++ b/reference/cost-barriers/42-lengthy-timelines.md @@ -0,0 +1,21 @@ +### 4.2 Lengthy Timelines + +Closely related to the cost of clinical trials is the length of time it takes to complete them, which has also increased in recent years. Between 2000 and 2005, pharmaceutical companies experienced a three percent median increase in development cycle times and a nearly 11 percent increase in regulatory cycle times (Getz K. A., 2006). Though the most recent data released by FDA in the fiscal year (FY) 2011 Prescription Drug User Fee Act (PDUFA) Performance Report indicate that median times to approval for priority and standard applications have decreased by a few months since FY 2008 (U.S. Food and Drug Administration, 2012), 12 the drug development process as a whole is still lengthy. DiMasi, Hansen, & Grabowski (2003) calculated that the average length of time from the start of clinical testing to marketing is 90.3 months (7.5 years), and the entire process, from discovery to registration with the FDA, takes 10 to 15 years for a typical drug (English, Lebovitz, & Giffin, 2010). + +Lengthy timelines directly contribute to lower revenues over the course of a drug’s lifecycle, increasing the financial burden of drug development. For instance, long trials mean large human labor costs, as investigators and staff must be compensated for many hours. Long development times also reduce the time a drug has under patent protection, thereby opening the door for generic competitors and reducing the amount of revenue that can be earned. Additionally, the potential for study results to impact medical practice may be reduced over time as changes in clinical practice or the standard of care might make the new drug obsolete (English, Lebovitz, & Giffin, 2010). The timing of investments and returns also factors into the total cost of drug development. As DiMasi, Hansen, & Grabowski (2003) explain: + +_Once a timeline is established and out-of-pocket costs are allocated over that timeline, the expenditures must be capitalized at an appropriate discount rate. The discount rate should be the expected return that investors forego during development when they invest in pharmaceutical R&D instead of an equally risky portfolio of financial securities. Empirically, such a discount rate can be determined by examining stock market returns and debt-equity ratios for a representative sample of pharmaceutical firms over a relevant period. The resulting discount rate is an average company cost-of-capital (DiMasi, Hansen, & Grabowski, 2003)._ + +The authors estimated that half of the total average cost of bringing a new drug to market—which they estimated at $802 million—was attributable to opportunity costs associated with foregone investments over the drug development period ($403 million) (DiMasi, Hansen, & Grabowski, 2003). + +There are a number of factors contributing to the length of clinical trials, and several of these are also discussed in other sections. For one, industry’s focus on treatments for chronic diseases (see Section 4.1) creates a need for long trials to demonstrate safety for drugs that are meant to be taken over an extended term. As discussed in the following sections, long trials face additional challenges with patient and investigator retention, which can in turn cause costly holdups (Weisfeld, English, & Claiborne, 2011). Numerous administrative and regulatory barriers also create delays that protract the clinical trial approval process in the United States (see Section 4.5 for more details). Additionally, the “one-off” ad hoc nature of trial organization contributes to long trial initiation timeframes, as investigators, staff, study sites, and other resources are retained for the purposes of a single trial and then disbanded. In the absence of a consistent trial infrastructure, each clinical trial requires that these resources be assembled anew, a process that can take years (Eisenberg, Kaufmann, Sigal, & Woodcock, 2011; English, Lebovitz, & Giffin, 2010). + +Although various technological advances and opportunities for centralized coordination have the potential to shorten drug development timelines, the clinical trial business model has not yet evolved in such a way that would take full advantage of them (Kramer & Schulman, 2011). For example, electronic data capture (EDC) improves efficiency by replacing paper forms and manual data queries with electronic forms and checks; however, not all companies have adopted EDC as a replacement for paper records (Neuer, Warnock, & Slezinger, 2010), and other efficiency gains made possible by this technology—for instance, in patient screening and recruitment—have not yet been realized (Kramer & Schulman, 2011). Site monitoring is another example; according to a recent survey of 65 organizations, 83 percent reported using centrally available data to evaluate site performance, but only 12 percent of respondents actually made frequent use of centralized monitoring to replace time-consuming on-site visits (Morrison, et al., 2011). A third example is the unwillingness of some research sites (academic institutions, most notably) to defer to central IRBs to allow for streamlining of the ethics review process. + +According to the literature and the interviews with drug company representatives, this industrywide inertia is rooted in a desire to avoid perceived regulatory risk. That is, companies, investigators, and reviewers continue to take actions that add time and cost but are not value-added, simply because those actions have proven successful in the past (Kramer & Schulman, 2011). Getz (2006) reported that some companies, including Bayer, Astra-Zeneca, Allergan, Boehringer-Ingelheim, and Merck, have found ways to achieve speed advantages (development cycles shortened by up to 17 months and regulatory cycles shortened by up to 3 months) relative to average performers. According to the author, these advantages can be attributed at least in part to terminating projects sooner, collaborating more actively with global regulatory agencies, using information technology and electronic data management technologies consistently and widely, and using CROs more (Getz, 2006). Additionally, partnerships and networks, such as the Pediatric Oncology Experimental Therapeutics Investigators Consortium (POETIC), have succeeded in increasing efficiency by bringing resources together and allowing multiple trials to be conducted without building the infrastructure up from scratch each time. Still, adoption of these models and practices is the exception rather than the standard. + +--- + +12 See also Brooks, C. (2012). According to this report, analysis of 4,300 global clinical trials across multiple therapeutic areas indicates the trend toward longer trial durations has reversed and clinical trials are now being completed in less time. + + diff --git a/reference/cost-barriers/43-difficulties-in-recruiting-and-retaining-participants.md b/reference/cost-barriers/43-difficulties-in-recruiting-and-retaining-participants.md new file mode 100644 index 00000000..779695bb --- /dev/null +++ b/reference/cost-barriers/43-difficulties-in-recruiting-and-retaining-participants.md @@ -0,0 +1,15 @@ +### 4.3 Difficulties in Recruiting and Retaining Participants + +In interviews, expert consultants and representatives from pharmaceutical and biotechnology companies and CROs cited patient recruitment as one of the most significant barriers to conducting clinical trials in the United States. Failure to recruit sufficient numbers of patients can result in costly delays or even cancellation of the entire trial (Weisfeld, English, & Claiborne, 2011). + +Patient recruitment difficulties are caused by a number of factors, some of which are fairly universal across clinical trials, while others arise due to characteristics of a particular disease or trial. One obvious factor is study size; as discussed previously, trends toward comparative and chronic disease studies contribute to a need for larger numbers of participants. Another common problem is finding willing individuals to participate in clinical trials. Most company representatives also expressed frustration over competition among drug companies for the same patient pools, explaining that multiple large companies often find themselves targeting the same big markets at the same time. For example, many sponsors are interested in pursuing anti-inflammatory drugs because the road to regulatory approval is clear and well-established for these drugs. These companies then compete to enroll patients with a few specific diseases (e.g., asthma, multiple sclerosis, and chronic obstructive pulmonary disease) on which they would like to test their drug. On the other hand, for smaller markets, recruitment might be hindered by the simple fact that patients are few and far between. Many smaller companies focus on developing drugs for orphan diseases, for which the potential pool of patients is, by definition, limited. + +There are several factors specific to certain disease areas or trial types that can make it especially difficult to recruit and retain patients in sufficient numbers. For some diseases (such as certain cancers), problems of access arise because patients are located mostly in remote areas, far from the clinical trial sites that are selected based on where investigators are (English, Lebovitz, & Giffin, 2010). Patient retention is a common problem in studies involving long-term endpoints (e.g., multiple sclerosis), lengthier treatments, or negative side effects that cause patients to become fatigued or sick and drop out. Additionally, some trials have narrow patient eligibility criteria that intentionally disqualify many potential participants who have the targeted disease but do not meet other inclusion criteria (English, Lebovitz, & Giffin, 2010). The goal in excluding these patients is to conduct a pure experiment that is free from the confounding influences of comorbid illnesses, concomitant medications, and other such factors (Kramer, Smith, & Califf, 2012). Enrollment restrictions such as these may simplify the trial itself but make recruitment more difficult. + +Even if there were an abundance of readily available, ideally suited patients, participation in clinical trials would still be greatly hindered by public attitudes, incentives, and lack of knowledge. Both physicians and their patients are often unaware of clinical trial options, and often times it is only patients of higher socioeconomic status who have the resources, knowledge, and motivation to seek information about a disease, including clinical trials (English, Lebovitz, & Giffin, 2010). Furthermore, physicians may not be able to determine whether standard treatment or a trial is the better option for their patients. To some extent, these problems arise from the separation between the realms of scientific research and clinical care in the United States and the lack of engagement among physicians in the clinical research process (discussed in greater detail in Section 4.7) (Bonham, Califf, Gallin, & Lauer, 2011). + +For their part, patients who are aware of clinical trial options might be hesitant to participate for a number of reasons. Fear is a major deterrent; patients understand that taking part in clinical research is good for public health but feel uncertain as to whether it is the best option for their own personal health. Many people are ill-at-ease with the idea of serving as “guinea pigs” and possibly suffering unexpected side effects, while others might assume the new drug is likely to be effective and worry instead about being assigned to a no-treatment or placebo group (Mills, et al., 2006; Welton, Vickers, Cooper, Meade, & Marteau, 1999). A related issue is discomfort with randomization and the idea that choice of treatment will be based on chance rather than the decision of a doctor or the patients themselves (Jenkins & Fallowfield, 2000). Media attention to cases with negative outcomes (e.g., serious side effects or deaths) has also fostered distrust of industry-sponsored trials, and many patients believe that industry will put its own interests ahead of theirs (Weisfeld, English, & Claiborne, 2011; English, Lebovitz, & Giffin, 2010). Awareness of deceptive, exploitative, and racist past practices in experiments, such as the Tuskegee syphilis study, continues to fuel this distrust, particularly among some minorities and cultures within the United States (Weisfeld, English, & Claiborne, 2011; Shavers, Lynch, & Burmeister, 2000). + +Aside from the uncertainties involved, participating in clinical research may simply be inconvenient or overly burdensome to patients. By signing up for a trial, patients might subject themselves to interruptions in care, physical and emotional stress caused by leaving their regular provider, time and travel costs, (including transportation to the study site and lost income), and large volumes of confusing paperwork associated with the informed consent process (English, Lebovitz, & Giffin, 2010). Finally, language and literacy barriers may also deter some from participating (Weisfeld, English, & Claiborne, 2011). + + diff --git a/reference/cost-barriers/44-increasing-competition-for-qualified-investigators-and-sites.md b/reference/cost-barriers/44-increasing-competition-for-qualified-investigators-and-sites.md new file mode 100644 index 00000000..90e8ed9f --- /dev/null +++ b/reference/cost-barriers/44-increasing-competition-for-qualified-investigators-and-sites.md @@ -0,0 +1,13 @@ +### 4.4 Increasing Competition for Qualified Investigators and Sites + +In addition to patient recruitment, difficulty finding investigators and sites was one of the issues most frequently raised by industry representatives in discussions with ERG. According to some, the problem is not a lack of researchers overall but rather a lack of _highly qualified_ researchers who are consistently able to enroll high-quality patients in sufficient numbers. As a result, sponsors compete with each other for these top investigators, creating the impression that there is a shortage even though less well-qualified investigators might be available. + +Whether and how sponsors experience this competition is based, to some degree, on their companies’ size and disease specialties. Many of the larger CROs have strategic partnerships with large drug companies, which provide the CROs with a consistent revenue stream. In exchange, the drug companies get priority access to staff, data management resources, and investigators. This allocation of resources to big drug companies further intensifies resource competition for small companies. Companies pursuing drugs in the same therapeutic areas at the same time will also face more competition, not only for patients, as discussed in the Section 4.3, but also for investigators and sites. For highly specialized treatment areas such as anti-fungals, sponsors may have a very limited universe of qualified investigators to choose from in the first place. + +Other experts frame the problem somewhat differently, asserting that this barrier stems not simply from competition for top investigators but also from an actual overall shortage of biostatisticians and clinical informaticists across academic medicine, industry, and government (Bonham, Califf, Gallin, & Lauer, 2011). In support of this claim, there is evidence to suggest that the rate of attrition among U.S. investigators is increasing. The proportion of clinical investigators who are from North America has been falling since 1997, while the proportions of investigators from Western Europe and the rest of the world have been increasing (English, Lebovitz, & Giffin, 2010). + +There is reason to believe that this trend will persist and the pool of investigators in this country will continue to shrink. It is very challenging to conduct clinical trials and establish a successful career as a clinical investigator in the U.S (English, Lebovitz, & Giffin, 2010); 45 percent of first-time investigators quit the field after their first clinical trial (Califf, Filerman, Murray, & Rosenblatt, 2011), and there is little motivation for new investigators to replace them. The clinical investigator track is, in many ways, less appealing than other options available to researchers, who would prefer to publish results more easily and avoid the hassles of getting a clinical trial protocol approved. Furthermore, conducting clinical trials does not earn researchers much respect among academics, and academic institutions often provide little support in the design and initiation of trials. Although community physicians and practitioners represent a large pool of potential investigators, they are generally uninvolved in the clinical trial process (for reasons discussed in Section 4.7) (English, Lebovitz, & Giffin, 2010). In this shrinking pool of resources, competition for resources will likely continue to intensify as increasing numbers of trials are conducted in orphan/low-prevalence diseases. + +The outlook for resources at the investigative site level is similarly bleak. Many veteran sites in the U.S. have been struggling financially in recent years, forcing some to shift resources to more profitable enterprises or even cease their clinical research activities altogether (Getz K. A., 2010a). While some of this financial hardship can be attributed to the global economic downturn—the number of new trials being initiated declined, and many trials have been delayed or terminated—much of it is due to industry practices. For one thing, protocols have grown increasingly complex (in terms of the number of procedures and amendments and amount of effort required to execute them), to the point of becoming unmanageable (discussed in more detail in Section 4.6). Recruitment is also very difficult in the United States (see Section 4.3), which increasingly drives sponsors to sites overseas. Furthermore, sponsors and CROs are responding to the unpredictability of site performance with a practice called “hedging,” in which trials are spread across larger numbers of sites, each with smaller numbers of patients, an economically unfavorable arrangement for many sites. Finally, sites face serious cash flow problems. In general, sponsors try to defer payment to later in the study; it takes an average of approximately 120 days for sites to receive payment from sponsors and CROs for work that they have already completed. Many experienced investigative sites need to borrow money in order to stay afloat, with the average U.S.-based site carrying a debt of $400,000. If these factors remain unaddressed, more sites can be expected to permanently close their doors to clinical research (Getz K. A., 2010a). + + diff --git a/reference/cost-barriers/45-regulatory-and-administrative-barriers.md b/reference/cost-barriers/45-regulatory-and-administrative-barriers.md new file mode 100644 index 00000000..fc2e685c --- /dev/null +++ b/reference/cost-barriers/45-regulatory-and-administrative-barriers.md @@ -0,0 +1,7 @@ +### 4.5 Regulatory and Administrative Barriers + +Regulations are often created in response to a negative event befalling a trial participant or a study as a whole (Kramer, Smith, & Califf, 2012). While these regulations are intended to improve safety or other facets of the clinical research process, many times they are not subsequently evaluated to determine whether they actually achieve those purposes or are simply creating additional obstacles. + +Furthermore, U.S. regulations pertaining to clinical research were written when the clinical trials enterprise was smaller in terms of the number of active trials and before multicenter trials became common (in the 1980s-1990s) (Kramer, Smith, & Califf, 2012). This section addresses several subcategories of regulatory and administrative barriers. + +# diff --git a/reference/cost-barriers/451-regulations-protecting-human-research-subjects-and-their-privacy.md b/reference/cost-barriers/451-regulations-protecting-human-research-subjects-and-their-privacy.md new file mode 100644 index 00000000..d5612f10 --- /dev/null +++ b/reference/cost-barriers/451-regulations-protecting-human-research-subjects-and-their-privacy.md @@ -0,0 +1,23 @@ +### 4.5.1 Regulations Protecting Human Research Subjects and Their Privacy + +**_Ethical / Institutional Review Board Approval (21 Code of Federal Regulations (CFR) 56)_** + +The ethical review process suffers from a lack of clarity regarding the roles and responsibilities of various oversight bodies and what is expected of investigators (English, Lebovitz, & Giffin, 2010). IRBs have expanded their scope of responsibility in recent years, undertaking new tasks such as review of investigators’ conflicts of interest, protection of patient health information, assessment of trial design, and risk management. As a result of this “mission creep,” trials require more approvals from different people within a single IRB, yet there are no indications that safety is improved by the expansion of responsibility (Kramer, Smith, & Califf, 2012). + +In addition to the increased bureaucracy and associated delays, the IRB review process for multisite trials (which usually require approvals by multiple IRBs) is also plagued by problems of coordination and consistency (English, Lebovitz, & Giffin, 2010). IRB definitions and standards (e.g., for reportable adverse events, or for what qualifies as equipoise) vary by geographic location, resulting in inconsistencies, delays, and other complications. Lost time and redundancies result when multiple local IRBs must review the same protocols and adverse events instead of a single IRB doing so, and dividing authority among multiple IRBs may weaken any individual board’s ability to demand important changes to protocols. Moreover, important issues flagged by one IRB may not ever be communicated to the other IRBs (Kramer, Smith, & Califf, 2012). + +To alleviate some of these problems, FDA recommended in 2006 that one central IRB be used for multicenter trials (U.S. Food and Drug Administration, 2006b); however, many drug sponsors have not made this a requirement and some sites are still unwilling to work with central IRBs. On April 23, 2012, FDA held a public hearing to obtain input from stakeholders on FDA's scope and direction in modernizing the regulations, policies, and practices that apply to the conduct of clinical trials of FDAregulated products, and IRBs were a topic of much discussion. According to speakers at the public hearing, institutions often express concern that they will remain liable, even if reviews are delegated to central IRBs, and therefore prefer to use their own (local) IRB rather than to delegate to a central IRB. Academic institutions have a reputation for being particularly reluctant to defer to central IRBs (reasons for this are discussed in Section 4.8) (U.S. Food and Drug Administration, 2012). + +**_Informed Consent (21 CFR 50)_** + +The process of obtaining informed consent, while important, is burdensome and time-consuming, both for researchers and trial participants. Sponsors are required to educate clinical trial participants as to the purpose of the study, its duration, necessary procedures, potential risks and benefits, and their rights before they can enter the trial. As part of this process, the research team must produce carefully worded documents, discuss the documents and the trial process with each individual patient, get the required patient signatures, and track the paperwork (English, Lebovitz, & Giffin, 2010). + +Patients must fill out and sign the numerous forms before they can participate, which can be overwhelming, especially when combined with the U.S. Health Insurance Portability and Accountability Act (HIPAA) forms, monitoring, and compliance (English, Lebovitz, & Giffin, 2010). A recent study of 124 informed consent documents used in multinational, U.S. government-sponsored human immunodeficiency virus (HIV)/acquired immunodeficiency syndrome (AIDS) trials found the median length of the forms to be 22 pages (27 pages for adult forms)(Kass, Chaisson, Taylor, & Lohse, 2011). The authors also noted that, despite the forms’ length, key concepts such as randomization were often inadequately explained, and higher-level reading comprehension skills (at least a ninth-grade level) were needed to understand the documents. The lengthy and confusing forms can be especially problematic for patients with language or disability barriers (U.S. Food and Drug Administration, 2012). + +Development of technological solutions is underway, though it is still in its early stages. One option discussed at the April 2012 FDA hearing was to replace paper forms with wireless tablets, which have the potential to facilitate document security and management, as well as to provide information in multiple languages or in audio/video format, which might be more accessible to children and patients with disabilities. However, simply moving excessively long and complicated forms from paper to a tablet screen will not address the need to fundamentally streamline the informed consent process and improve both efficiency and understanding (U.S. Food and Drug Administration, 2012). + +_**Patient Privacy: U.S. Health Insurance Portability and Accountability Act (HIPAA) (45 CFR Part 160 and Subparts A and E of Part 164)**_ + +HIPAA requires patients’ authorization to use their health information for research (may be combined with informed consent). There are severe penalties for violating HIPAA, so IRBs strictly enforce compliance. However, one consequence of HIPAA and other privacy laws is that, when patients drop out, site investigators are reluctant to attempt to contact them or seek their medical records to followup on major outcomes/study endpoints. This in turn reduces statistical power and can lead to uncertain study results. It has been suggested that informed consent documents include a statement alerting participants that, should they drop out of the study, the investigators will seek their authorization to track their major outcomes (Kramer, Smith, & Califf, 2012). + +# diff --git a/reference/cost-barriers/452-safety-reporting-requirements-for-investigational-new-drugs-inds-and-biologics-21-cfr-312.md b/reference/cost-barriers/452-safety-reporting-requirements-for-investigational-new-drugs-inds-and-biologics-21-cfr-312.md new file mode 100644 index 00000000..44be2a70 --- /dev/null +++ b/reference/cost-barriers/452-safety-reporting-requirements-for-investigational-new-drugs-inds-and-biologics-21-cfr-312.md @@ -0,0 +1,19 @@ +### 4.5.2 Safety Reporting Requirements for Investigational New Drugs (INDs) and Biologics (21 CFR 312) + +In the course of clinical investigations conducted under investigational new drug (IND) applications, information regarding adverse events must be communicated among investigators, sponsors, IRBs, and FDA in safety reports. There are a number of terms that are used to categorize adverse events and thereby determine which must be reported. The most up-to-date definitions of these terms from 21 CFR 312.32(a) are provided below: + +- Adverse event: “\[A\]ny untoward medical occurrence associated with the use of a drug in humans, whether or not considered drug related.” +- Life-threatening adverse event or life-threatening suspected adverse reaction: “An adverse event or suspected adverse reaction is considered ‘life-threatening’ if, in the view of either the investigator or sponsor, its occurrence places the patient or subject at immediate risk of death.” +- Serious adverse event or serious suspected adverse reaction: “An adverse event or suspected adverse reaction is considered ‘serious’ if, in the view of either the investigator or sponsor, it results in any of the following outcomes: Death, a life-threatening adverse event, inpatient hospitalization or prolongation of existing hospitalization, a persistent or significant incapacity or substantial disruption of the ability to conduct normal life functions, or a congenital anomaly/birth defect.” +- Suspected adverse reaction: “\[A\]ny adverse event for which there is a reasonable possibility that the drug caused the adverse event. For the purposes of IND safety reporting, ‘reasonable possibility’ means there is evidence to suggest a causal relationship between the drug and the adverse event. Suspected adverse reaction implies a lesser degree of certainty about causality than adverse reaction, which means any adverse event caused by a drug.” +- Unexpected adverse event or unexpected suspected adverse reaction: “An adverse event or suspected adverse reaction is considered ‘unexpected’ if it is not listed in the investigator brochure or is not listed at the specificity or severity that has been observed; or, if an investigator brochure is not required or available, is not consistent with the risk information described in the general investigational plan or elsewhere in the current application, as amended.” + +In the past, the FDA, IRBs, and clinical investigators in multicenter trials have been flooded with expedited reports of serious adverse events (SAEs), making it difficult to determine which were true signals of significant safety events and which were simply “noise.” This high-volume reporting occurred largely as a result of the FDA’s previous safety reporting requirements, which were insufficiently specific with regard to the threshold for determining whether an adverse event was reportable (Sherman, Woodcock, Norden, Grandinetti, & Temple, 2011), combined with cautious over-reporting on the part of sponsors (see Section 4.6). These reports did not provide enough context—such as aggregate data by treatment group—to allow for interpretation of the events and evaluation of their causal relationship with drug therapy. For example, it is impossible to determine whether a single reported case of myocardial infarction is causally related to drug exposure in a study population comprised of elderly patients (Kramer, Smith, & Califf, 2012; Sherman, Woodcock, Norden, Grandinetti, & Temple, 2011). + +A new FDA safety reporting regulation (effective March 2011) seeks to remedy these problems by clarifying the roles and responsibilities of sponsors and clinical investigators in the safety reporting process (Kramer, Smith, & Califf, 2012; Sherman, Woodcock, Norden, Grandinetti, & Temple, 2011). The new regulation requires that clinical investigators continue to report all serious adverse events to the sponsor, regardless of whether they are considered to be drug-related. The sponsor, in turn, is required under 21 CFR 312.32(c) to submit an expedited IND safety report to the FDA and all participating investigators within 15 days when any of the following criteria are met: (1) there has been a suspected adverse reaction that is both serious and unexpected (as defined above); (2) there are findings from other studies or animal or in vitro studies that suggest that exposure to the drug results in a significant risk to humans; or (3) there has been a “clinically important increase in the rate of a serious suspected adverse reaction over that listed in the protocol or investigator brochure.” The crux of the new rule is that sponsors should send expedited reports only for those events that the sponsor believes are causally linked to exposure to the investigational agent, rather than sending expedited reports for all events that either the sponsor or the investigator believes are even possibly linked to exposure to the investigation agent.  + +In contrast to the previous regulations, which permitted either the sponsor or the investigator to make causality determinations, assessment of which events are likely caused by the drug is now solely the responsibility of the sponsor, who has more complete information than the individual investigators. Additionally, more guidance is provided to help sponsors evaluate causality for adverse events and what types of reactions need to be reported. The new requirements are thus intended to reduce the excessive volumes of events being reported to FDA, investigators, and IRBs and more clearly identify which events actually have important patient safety implications (Sherman, Woodcock, Norden, Grandinetti, & Temple, 2011). + +Still, it is too early to tell how sponsors will adapt to the change and to what extent the changes will succeed in their intended purpose (Kramer, Smith, & Califf, 2012). Despite the revisions that were made in the spring of 2011 (to 21 CFR parts 312 and 320), some remaining issues were raised by industry and IRB representatives at the public FDA hearing held in April, 2012. For one thing, there may be inconsistent reporting requirements. Investigators are required (under 21 CFR parts 56.108(b)(1), 312.53(d)(1)(vii), and 312.66) to report promptly “to the IRB…all unanticipated problems involving risks to human subjects or others”; however, investigators might interpret an event to be “anticipated” (and therefore not required to be submitted) on one occasion, and then might interpret the same event to be “unanticipated” at another time (Public Hearing, 2012). Another speaker expressed concern that 21 CFR part 56 is still interpreted by sponsors and investigators as requiring every investigator to send every IND safety report to the IRB, and IRBs have trouble interpreting safety data received in a “piecemeal” fashion. The speaker asked that FDA clarify sponsors’ reporting obligations. Individual investigators are also burdened by the need to act as middle men between sponsors and the IRB, which, the speaker argued, is inefficient and unnecessary (U.S. Food and Drug Administration, 2012). + +# diff --git a/reference/cost-barriers/453-regulations-for-multiple-jurisdictions.md b/reference/cost-barriers/453-regulations-for-multiple-jurisdictions.md new file mode 100644 index 00000000..f7494f52 --- /dev/null +++ b/reference/cost-barriers/453-regulations-for-multiple-jurisdictions.md @@ -0,0 +1,11 @@ +### 4.5.3 Regulations for Multiple Jurisdictions + +In addition to the federal regulations listed above, there are also state and local regulations to comply with, and the requirements may be different for each location in multi-site trials. Companies conducting trials at sites in the European Union (EU) (or other countries) are also regulated by the European Commission/EU Clinical Trials Directive (or other national regulatory authorities) (Kramer, Smith, & Califf, 2012), which may have varying guidance and regulations. The abundance of regulations at various levels and the lack of harmonization among these add a great deal of complexity to the process of conducting clinical trials (Kramer & Schulman, 2011). In interviews, sponsors listed the following areas as being particularly problematic: reporting of results, format for applications, guidance on endpoints, registration requirements, guidelines for clinical programs, biosimilars legislation, and adverse events reporting. For example, the United States and Europe differ as to who bears responsibility for ascertaining the cause of unexpected serious adverse events (SAEs). Under the new U.S. regulation, the drug sponsor is responsible for determining causality; in Europe, either the sponsor or the investigator may do so (as stated in the ICH guidelines) (Kramer, Smith, & Califf, 2012; Sherman, Woodcock, Norden, Grandinetti, & Temple, 2011). + +Most industry representatives interviewed agreed that, while the International Conference on Harmonisation of Technical Requirements for Registration of Pharmaceuticals for Human Use Good Clinical Practice (ICH-GCP) guidelines (discussed in Section 4.9) and other harmonization efforts have proven helpful, the problem of differing practices and requirements across jurisdictions is far from being solved. The EU Voluntary Harmonisation Procedure (VHP) illustrates this point. In incorporating the 2001 EU Clinical Trials Directive into national laws and regulations, divergent practices emerged across member states with regard to application dates, timelines for review of clinical trial applications, content/format/language requirements, distribution of responsibilities between authorities and ethics committees, and workload among authorities (Clinical Trials Facilitation Groups (CTFG), 2010). + +To address these issues, the Clinical Trials Facilitation Group (CTFG) established the Voluntary Harmonisation Procedure, which allows clinical trial applicants to electronically submit a single set of materials to one coordinator and obtain trial approval across multiple EU states at once, instead of making submissions to each country separately (Buchholzer, 2011; Krafft, Bélorgey, & Szalay, 2012). Since its introduction in 2009, the VHP has been increasingly utilized; over 140 applications had been received as of February 2012, approximately a third of which came from U.S. sponsors and most of which received a positive opinion (Krafft, Bélorgey, & Szalay, 2012). Still, despite near-universal adoption of the VHP across EU member states, many sponsors and CROs remain hesitant to use it (possibly because it is a new and unfamiliar process, and drug companies tend to adhere to traditional practices with proven track records) (Buchholzer, 2011). Furthermore, the VHP does not extend to countries beyond the EU, nor does it address harmonization concerns regarding aspects of clinical trials other than the application process. + +Apart from studies spanning multiple geographic locations, lack of harmonization can also be a barrier for research that falls under the purview of multiple federal agencies. In particular, oncology research may be subject to the requirements and guidance of not only FDA, but also the Office for Human Research Protections (OHRP), the National Institutes of Health (NIH), and the Office for Civil Rights (OCR), depending on the study (U.S. Food and Drug Administration, 2012). Though efforts have been made by FDA and OHRP to harmonize guidances, some differences remain among agencies in privacy requirements, government access to records, safety reporting requirements, terminology, and conflict of interest disclosure (U.S. Food and Drug Administration, 2012). For example, while HHS lowered the monetary threshold at which significant financial interests require disclosure from $10,000 to $5,000 in 2011(National Institutes of Health, 2011), FDA’s reporting threshold is $25,000 (U.S. Food and Drug Administration, 2011b). Such inconsistencies cause confusion among investigators and make it difficult to keep abreast of the various requirements (U.S. Food and Drug Administration, 2012). + +# diff --git a/reference/cost-barriers/454-conservative-regulatory-climate.md b/reference/cost-barriers/454-conservative-regulatory-climate.md new file mode 100644 index 00000000..a38e105d --- /dev/null +++ b/reference/cost-barriers/454-conservative-regulatory-climate.md @@ -0,0 +1,13 @@ +### 4.5.4 Conservative Regulatory Climate + +Nearly all of the company representatives and experts interviewed commented on what they perceived as a particularly risk-averse regulatory climate of recent years. Many framed the problem as a disproportionate weighting of risk in the risk-benefit equation, with FDA now appearing hesitant to take on even small amounts of risk, regardless of the potential benefit to patients. Those with several years of experience in the industry observed that this conservatism is part of a cyclical pattern governed by political, Congressional, and media pressure following adverse outcomes. + +In describing this perceived regulatory conservatism, many company representatives expressed frustration with FDA’s safety data demands for certain indications. For example, multiple interviewees said that many companies can no longer afford to develop drugs for diabetes because of new cardiovascular risk guidelines. In 2008, in light of published findings that the approved drug Avandia increased the risk of heart attacks, FDA issued guidance requiring that all diabetes drugs undergo a cardiovascular risk assessment lasting at least two years (Harris, 2010). Similar requirements are being considered for obesity drugs in the United States (Pollack, 2012). + +While interviewees supported the goal of improving patient safety, they also encouraged consideration of the disincentives created by the new rule. They explained that it takes months to test whether a diabetes drug works to help control blood sugar levels, but it takes years and thousands of patients to determine cardiovascular risk, making clinical trials in this therapeutic class prohibitively expensive. Such barriers discourage investment by venture capitalists, and can drive sponsors to other (non-U.S.) markets or lead them to stop pursuing drugs in these classes altogether, thereby drying up the pipeline at a time when high obesity rates in the United States necessitate more treatment options (Pollack, 2012). + +Drug company representatives also warn that safety requirements calling for large programs and large volumes of data can produce unexpected safety signals as a result of multiple comparisons and detection bias. Some feel that FDA is requiring too much investigation of safety pre-approval and could instead allow for more of this work to be shifted to post-marketing studies, while reserving the authority to pull the drugs off the market if these are not completed satisfactorily. Sponsors further argue that at the time of approval, FDA could simply make all information available to clinicians and their patients so that they can make their own decisions. + +FDA’s exploratory IND guidance was offered by a CRO representative as another example of regulatory risk aversion. Often, in the early stages of research, there are many potential molecules a sponsor is interested in, and some human data is needed before the sponsor can decide which to pursue. FDA’s exploratory IND rule says that sponsors do not have to have all the toxicity data that they would normally need before getting started, but they can only use 1/100th of a dose in human patients (U.S. Food and Drug Administration, 2006a). The interviewee argued that 1/100th of a dose is not informative, and therefore the rule was of little practical use. + +# diff --git a/reference/cost-barriers/455-lack-of-clear-regulatory-pathways-and-guidance-for-some-therapeutic-areas.md b/reference/cost-barriers/455-lack-of-clear-regulatory-pathways-and-guidance-for-some-therapeutic-areas.md new file mode 100644 index 00000000..63ab8cff --- /dev/null +++ b/reference/cost-barriers/455-lack-of-clear-regulatory-pathways-and-guidance-for-some-therapeutic-areas.md @@ -0,0 +1,11 @@ +### 4.5.5 Lack of Clear Regulatory Pathways and Guidance for Some Therapeutic Areas + +Sometimes, not having a clear idea of what FDA requires is the fault of companies, who might avoid meeting with FDA early in the process, perhaps out of fear of hearing bad news that must then be shared with their investors. However, industry representatives assert that, in many cases, much of the responsibility for failed communication and unclear expectations rests with FDA. + +While the regulatory pathways for some therapeutic areas, such as oncology and cardiovascular disease, are well-established, the requirements remain much less clear for other, more “cutting edge” areas, like central nervous system disorders, metabolic diseases, and biosimilars, for which there is little in the way of precedent. In disease areas where guidelines are nonexistent, old, or otherwise lacking, sponsors find it difficult to understand what FDA expects of them before beginning their studies, and the process can result in lengthy back-and-forth discussions and negotiations with reviewers. Such a situation is both inefficient (as each individual company must take the time to seek out information or negotiate the requirements on its own) and unpredictable (as reviewers may change their minds over time). + +According to one CRO representative, some drugs fall between the cracks of other regulatory pathways because they are intended to treat diseases that are exceptionally rare or sporadic. While the orphan drug pathway is appropriate for conditions affecting fewer than 200,000 patients, there are some conditions affecting only a few hundred patients that might be effectively treated with a new drug. The barriers to developing a drug for such conditions are substantial; from a regulatory perspective, it is similar to developing a drug for millions of patients, despite the fact that enrollment and other aspects of the process are much more difficult. The interviewee noted that, while there were cases in which FDA had been flexible and helped an important treatment to reach patients (e.g., Botulism Immune Globulin, or “BabyBIG”), there have been other instances where drugs have been dropped because the regulatory barriers were not adjusted. By existing rules, it seems infeasible to sponsors to test a treatment for _Escherichia coli (E. coli)_, for example, as not enough patients can be found who become ill with hemolytic uremia to test the drug. While FDA’s Animal Rule allows sponsors to demonstrate effectiveness in animals, it has only been used a few times (e.g., anthrax). + +For therapeutic areas where guidance is lacking, FDA often takes a long time to issue and update guidances. While FDA has undertaken some positive initiatives recently (e.g., starting to issue new guidances, including draft guidance for biosimilars; examining guidances for skin and pneumonia; considering guidances for unmet need pathogens; and considering new approval pathways for pathogens that would require more restrictive labeling and be for more limited populations), these processes can be very slow from industry’s perspective. + +# diff --git a/reference/cost-barriers/456-barriers-related-to-the-review-process.md b/reference/cost-barriers/456-barriers-related-to-the-review-process.md new file mode 100644 index 00000000..712ea79f --- /dev/null +++ b/reference/cost-barriers/456-barriers-related-to-the-review-process.md @@ -0,0 +1,13 @@ +### 4.5.6 Barriers Related to the Review Process + +The expert consultants and drug company and CRO representatives interviewed acknowledged the difficulty of FDA’s position, as the Agency faces conflicting pressures from Congress and industry and must balance the need for scientific evidence with the need for timely access to the new drug. Most respondents commented that FDA is consistently understaffed and underfunded, and the resources it does have at its disposal are stretched too thin. + +Nonetheless, there were some specific concerns shared by the interviewees regarding the regulatory review process at FDA. One issue that was frequently mentioned was the perceived concentration of too much responsibility and power in the hands of individual reviewers. When most of the burden of decision-making is borne by a single reviewer, that reviewer will bear full responsibility if something goes wrong; thus, he or she might be more risk averse than a group of individuals across whom responsibility is spread evenly. Anecdotal evidence suggests that junior reviewers might be particularly risk averse, while veteran reviewers might be inflexible. Additionally, turnover among reviewers becomes problematic, as it can take quite a long time to get a new reviewer up to speed. Such a system makes company representatives feel that their outcomes are subject to the whims of the individual reviewer and his or her personal feelings about a particular drug or company. Consequently, some respondents expressed a preference for the European regulatory review system, which involves multiple academic experts to reach a scientific consensus. While the FDA does use an advisory board, the interviewees felt that it is involved too late in the process, and its authority is too weak to overrule the reviewer’s decision. + +Another common grievance among interview respondents was the difficulty of getting timely feedback from FDA. Though a recent _New England Journal of Medicine_ article found that FDA reviewed applications involving novel therapeutics faster, on average, than the European Medicines Agency (EMA) or Health Canada (Downing, et al., 2012), many sponsors interviewed by ERG felt that there was still room for improvement in the efficiency and predictability of communication. There is a perception in the industry that FDA is becoming more bureaucratic and seeking to formalize all processes--making communication increasingly cumbersome. Rather than being able to contact the relevant FDA reviewers directly, companies say they must first go through project managers, fill out written requests, and complete other intermediate steps. While investigational new drug (IND) timelines are considered acceptable (feedback is received within 30 days), receiving feedback in the post-IND or review periods can take a long time. + +A final oft-repeated refrain among industry representatives is the lack of consistency among reviewers and divisions within FDA’s Center for Drug Evaluation and Research (CDER). Respondents believed there to be appreciable variability across divisions at FDA in responsiveness, scientific expertise, flexibility, and openness to meetings. For example, it was mentioned that the Division of Cardio-Renal Drug Products has a reputation for being particularly innovative and flexible relative to other divisions, while Metabolism and Endocrinology Products and Pulmonary, Allergy, and Rheumatology Products are perceived as divisions where drugs are more likely to be delayed. Interviewees indicated that there are good scientists at FDA, but they are scattered across different departments, and the overall scientific caliber of reviewers could be improved to ensure better consistency. + +A newly published study by Tufts CSDD explores the issue of consistency among the various FDA drug review divisions using data on new molecular entity (NME) New Drug Applications (NDAs) and “new” Biologic License Applications (BLAs) from the period between 2006 and 2010 (Milne & Kaitin, 2012). The authors outline the various factors that contribute to disparities in regulatory experiences on both the industry side (including therapeutic area, technology turnover, investment levels, and experience/expertise of the sponsor) and FDA side (including staffing levels, organizational changes, workload fluctuations, leadership, advisory committee dynamics, and political pressures). According to the study, there are substantial differences among divisions in terms of staff, workload, approval times, rates of clinical holds ordered on commercial INDs, the percentage of products for which an advisory committee meeting is held, NDA approval rates, and other measures. Confirming what was said in our interviews with industry representatives, the Metabolism & Endocrinology and Respiratory/Rheumatology divisions were indeed found to have exceptionally high rates of clinical holds relative to other divisions. + + diff --git a/reference/cost-barriers/46-drug-sponsor-imposed-barriers.md b/reference/cost-barriers/46-drug-sponsor-imposed-barriers.md new file mode 100644 index 00000000..03391f1a --- /dev/null +++ b/reference/cost-barriers/46-drug-sponsor-imposed-barriers.md @@ -0,0 +1,9 @@ +### 4.6 Drug Sponsor-imposed Barriers + +Drug sponsors face a number of barriers to conducting clinical research that are outside their control. However, there are also a number of barriers that drug sponsors voluntarily impose upon themselves, adding further cost and delay to the process unnecessarily. While some of these avoidable costs and delays are incurred as a result of insufficient early planning or inefficiencies in company practices, the majority of them stem from a desire to avoid failure at all costs (Kramer & Schulman, 2011). + +Risk aversion leads companies to take unnecessary steps at various points throughout the clinical trial process. As one drug company representative explained, there is a “bad feedback loop”; clinical trials are so costly that companies will spend millions more to achieve small reductions in the risk of failure. Legal advisors are major drivers of these strategies, which are designed to ensure regulatory compliance and minimize liability (Kramer, Smith, & Califf, 2012). In trial design, each assumption is made conservatively, and the study ends up being overpowered. At larger companies especially, statisticians and others are insulated from the cost consequences of their recommendations, so there is less accountability; no one objects because no one wants to be responsible for failure. + +The rest of this section discusses, in greater detail, the various barriers that drug sponsors impose upon themselves in their administrative, study design, data and site monitoring, and serious adverse event reporting practices. + +# diff --git a/reference/cost-barriers/461-administrative.md b/reference/cost-barriers/461-administrative.md new file mode 100644 index 00000000..8c2d9561 --- /dev/null +++ b/reference/cost-barriers/461-administrative.md @@ -0,0 +1,7 @@ +### 4.6.1 Administrative + +Contract negotiation and internal review are two major administrative areas where drug companies suffer from inefficiencies of their own creation. The IOM and the National Cancer Institute (NCI) have tried to generate standard contract terms so that the trickiest parts of contracts between sponsors and contractors and clinical sites would not need to be renegotiated from scratch every time; however, these have gone largely unused by drug companies. Contract negotiation delays can be exacerbated when pharmaceutical companies outsource the execution of standard contracts to subcontractors, who cannot make decisions without approval (Kramer, Smith, & Califf, 2012; Institute of Medicine Forum on Drug Discovery, Development, and Translation, Undated). + +Internal review processes for organizations conducting or sponsoring clinical trials can also delay a trial’s start. For example, in the past, Bristol-Myers Squibb needed 8 months and 34 internal review cycles to develop and activate a new protocol. The company has recently made an effort to streamline this process and shorten it to about five months (English, Lebovitz, & Giffin, 2010). + +# diff --git a/reference/cost-barriers/462-study-design.md b/reference/cost-barriers/462-study-design.md new file mode 100644 index 00000000..58558ce9 --- /dev/null +++ b/reference/cost-barriers/462-study-design.md @@ -0,0 +1,43 @@ +### 4.6.2 Study Design + +_**Enrollment Restrictions**_ + +In trying to create a pure scientific experiment and thereby maximize likelihood of drug approval, sponsors may restrict enrollment using restrictive eligibility criteria that may exclude, for example, patients on other medications or with comorbidities. This practice may be reasonable in the early phases of the study to distill the effect of the drug, free of confounding influences; however, when these restrictive criteria are carried over to later phases of the trials, they make it even more difficult to find a sufficient number of participants and consequently protract the recruiting process (Kramer, Smith, & Califf, 2012). To illustrate the enrollment implications of this increased stringency, a 2010 study by Tufts CSDD reported that 48 percent of patients screened for clinical trials actually completed the trials in the period between 1990 and 1999, while only 23 percent of patients screened in the 2000-2009 period completed them (Kramer, Smith, & Califf, 2012). + +Aside from hampering recruitment, the restrictions on participant eligibility also raise scientific concerns, as the new drug might not be adequately studied on relevant patient populations, such as people with common comorbidities. For example, the cardiovascular risks associated with the arthritis drug rofecoxib were established as the sponsor pursued a possible new indication for the drug, not in the course of a systematic study of arthritis patients with concomitant cardiovascular disease (Kramer, Smith, & Califf, 2012). This issue is discussed further Section 4.7. + +**_Complex Clinical Trial Protocols_** + +Clinical trial protocols, which outline the trial methodology, are becoming increasingly complex, involving more assessments, exploratory endpoints, biomarkers, biopsies, etc., and increasing the administrative burden of trials. A study of over 10,000 industry-sponsored clinical trials found that the quantity and frequency of trial-related procedures (e.g., laboratory tests, patient questionnaires) per protocol has increased increased by 6.5 percent and 8.7 percent per year, respectively, during the time period between 1999 and 2005(Getz, Wenger, Campo, Sequine, & Kaitin, 2008). A separate study of 57 Phase 1–Phase 3, industry-created research protocols found that the average total number of protocolrequired procedures increased from 90 for the time period between 1999 and 2002 to 150 for the time period between 2003 and 2005; the average number of inclusion criteria increased from 10 in 1999 to 26 in 2005, and the average case report form expanded from 55 pages in 1999–2002 to 180 in 2003–2006 (Kramer, Smith, & Califf, 2012). + +**_Case Report Forms (CRFs)_** + +A case report form (CRF) is a tool used by investigators to collect data for each participant throughout the trial. More complex CRFs including many data points can significantly increase trial monitoring and other costs (e.g., storage of samples) (English, Lebovitz, & Giffin, 2010), perhaps unnecessarily if the data being collected are not relevant to the specific study. According to experts and industry representatives interviewed, sponsors almost always capture more data than they eventually use in their FDA submissions, and sometimes this extra data even confounds study results. Though the percentage of data collected that ultimately goes unused varies by trial, interviewees estimated that it is anywhere from 10 to 30 percent, and a recent study by Kenneth Getz and others at Tufts CSDD found that 22.3 percent of all clinical trial procedures are considered to be non-core (17.7 percent of Phase 2 procedures and 24.7 percent of Phase 3 procedures). According to that study, which used clinical data from Medidata, 18 percent—or approximately $1.1 million—of a typical study budget is being spent on procedures for supplementary secondary, tertiary, and exploratory endpoints, while another $1.3 million (22 percent) is spent on procedures supporting regulatory compliance (Tufts CSDD, 2012). These findings confirm anecdotal evidence cited in an earlier article by Kenneth Getz, which reported that sponsors estimate that between 15 and 30 percent of all clinical data collected is not used in NDA submissions, costing an additional $20 to $35 million in direct drug development costs for the average drug (Getz K. A., 2010b). + +The reasons given by interviewees for collecting this extra data were many and varied. Researchers tend to be overly inclusive, as they are scientifically-minded individuals who want to be able to answer the main question and test other theories, as well. Some of the extra data are needed when the clinical value of some endpoints is uncertain. Moreover, companies tend to collect what they have always collected in the past and simply add new items as needed, without reconsidering whether the old measurements are necessary (Getz & Campo, 2013). FDA reviewers, for their part, might have grown accustomed to seeing the “usual” data points, such as hematology and other general health measures, even if they are nonessential to the study. Some data are collected in part to satisfy payers and providers (e.g., quality of life measurements and other patient-centric measurements). Finally, companies may solicit input from “key opinion leaders” (KOLs) on protocol design, and, while KOLs are practitioners and experts in their disease areas, they may be less well versed in study design and the specific data points that are needed for FDA approval. + +Some of the individuals interviewed expressed the opinion that collection of extra data is unavoidable due to the nature of the process; clinical trials represent research under uncertain conditions, and at the time when they are making data collection decisions, study designers do not know for sure what they will need. Some also argued that the data being collected are not actually superfluous because there is always need for the data on file, not because FDA is mandating it, but because it is supportive and reasonable to collect. + +Other respondents felt data collection—or at least data collection costs—could be reined in through various means. For example, some of the data can be collected at lower-cost facilities, such as local clinics and pharmacies, reducing the need for infrastructure and overhead. Companies can also be more practical in their planning and streamline their studies by minimizing the number of research questions they seek to answer in a single trial. One respondent said the ideal scenario would be for sponsors to conduct large, simple trials that make use of information that already exists in patients’ electronic health records (EHR) rather than collecting lots of redundant data themselves. In fact, FDA recently published guidance on best practices for conducting and reporting on pharmacoepidemiologic safety studies that use electronic healthcare data sets (including administrative claims data and electronic medical record (EMR) data), acknowledging the potential for new technologies and statistical methods to allow for easier study of safety issues, particularly in situations where observational studies/clinical trials are infeasible (U.S. Food and Drug Administration, 2011a). Some respondents also called for more flexibility on the part of FDA; for example, drugs can be approved without mortality data with the requirement that post-marketing data be collected to demonstrate safety. The drug can later be withdrawn from the market if there are concerns. + +Still, there are hurdles to implementing some of these ideas. While the use of administrative databases sounds promising, in reality, researchers always fear the “what-ifs” and collect more data “just in case.” Data sufficiency concerns can be crippling to the development timeline, especially if another clinical trial is required, and researchers are over-cautious as a result. Furthermore, with regard to post-market data collection, several respondents noted that FDA is justifiably worried about the problematic history of pharmaceutical company promises about post-marketing clinical trials, as some companies have drawn out the process of designing post-market clinical trials for many years. Lastly, efforts to simplify data collection are presently hindered by the lack of standardized electronic CRFs that can be used by all researchers across the industry (still, progress is being made; efforts to develop a library of standardized oncology CRFs are already underway) (English, Lebovitz, & Giffin, 2010). + +**_Protocol Amendments_** + +Clinical trial protocols often need to be amended after they have been finalized and approved, a process which can be costly and time-consuming, but also preventable. Using data provided by 17 midsized and large pharmaceutical and biotechnology companies, a recent study conducted by Tufts CSDD analyzed the types, frequency, causes, and costs of nearly 3,600 protocol amendments from 3,410 protocols. The study found that nearly 60 percent of all trial protocols require amendments, a third of which are avoidable through better initial planning and participant recruitment.13 Completed protocols across all clinical trials were found to incur 2.3 amendments on average, with each amendment requiring an average of 6.9 changes to the protocol and causing substantial unanticipated costs and delays. Onethird of all amendments are related to protocol description and patient eligibility criteria; other change categories include dosage/administration, statistical methods, and trial objectives. Across all phases, 43 percent of amendments occur before any patients are enrolled, with amendments more likely to occur in Phase 1. The median time to resolve a protocol problem is 65 days (65 days multiplied by 2.3 amendments equals four to five months of lost time) (Getz, et al., 2011; Tufts CSDD, 2011). + +According to the CSDD study, it cost an average of $453,932 to implement each individual protocol amendment. This total is comprised of the following direct costs associated with implementation of an amendment: increased study grants/site fees ($265,281); contract change orders to existing contracts ($109,523); new contracts with providers ($69,444); additional drug supply ($5,300); and IRB fees ($4,384). It does _not_ include the cost of internal time dedicated to implementing each amendment, costs or fees associated with protocol language translation, and costs associated with resubmission to the local authority, nor were any indirect costs (e.g., of development or commercialization delays) estimated. It is also important to note that cost data were only available for 20 of the amendments in the sample; therefore, these cost estimates are highly prone to bias and “should be viewed with caution” (Getz, et al., 2011). + +The most common causes of amendments were found to be availability of new safety information (19.5 percent), requests from regulatory agencies to amend the study (18.6 percent), changes in the study strategy (18.4 percent), protocol design flaws (11.3 percent), and difficulties recruiting study volunteers (nine percent). Less common causes include errors/inconsistencies in the protocol (8.7 percent), availability of new data (7.1 percent), investigator/site feedback (4.5 percent), changes in the standard of care (1.9 percent), and manufacturing changes (one percent). In general, protocols with longer treatment durations had a higher incidence of amendments. Among therapeutic areas, cardiovascular and gastrointestinal protocols had the highest incidence of amendments and changes per amendment (Getz, et al., 2011). One of the study’s authors, Kenneth Getz, believes protocol amendments will continue to be prevalent, as the mean number of amendments was found to be positively and significantly correlated with the increasing number of procedures per protocol, study length, and number of investigative sites involved in each clinical trial (Tufts CSDD, 2011). + +When asked about protocol amendments, many representatives from smaller drug companies indicated that they regarded them as “just a cost of doing business” or a “necessary evil” that “comes with the territory.” Large companies, by contrast, seemed to have done more internal analysis of their own protocol amendment costs and set goals to lessen their frequency. One large company representative confirmed that the Tufts study estimate of $453,932 per amendment (on average) is accurate or possibly even conservative because it does not include all associated costs. Analysis of that company’s own protocol amendments found that roughly half could be categorized as “avoidable” and the other half as “unavoidable.” Another large company representative estimated the cost per amendment to be $500,000 to $1 million (including implementation costs), depending on what is involved, as some changes require costly new training or equipment, or add a whole new arm to the study and are therefore more expensive. + +_**Failure to Integrate Study Design with Clinical Practice Flow**_ + +Industry sponsors generally do not involve site investigators in the protocol design process. As a result, the required procedures outlined in the protocol might not be easy to smoothly integrate into clinical practice at the sites (Kramer, Smith, & Califf, 2012). A CRO representative interviewed provided examples: for instance, a protocol could require that magnetic resonance imaging (MRI) and a series of neurocognitive tests be performed within three days of each other at a site that does not have sufficient access to an MRI machine; or, a protocol might require a series of labs that are highly specialized and cannot be done by the site in house. Better planning and conferring with site investigators during the protocol design phase can help trials to avoid hitting foreseeable logistical snags such as these. + +--- + +13 This study was based on data collected from seventeen midsized and large pharmaceutical and biotechnology companies: Amgen, Astellas, AstraZeneca, Biogen Idec, Cephalon, Forest, Genentech, Genzyme, Lilly, Merck, Millennium, Otuska, Pfizer, Roche, Schering-Plough, Sepracor, and Takeda. Data from 3,410 protocols were collected across various therapeutic areas, yielding information on 3,596 amendments containing 19,345 total protocol modifications. The study defines amendments as “any change to a protocol requiring internal approval followed by approval from the IRB, ERB, or regulatory authority. Only implemented amendments—that is, amendments approved both internally and by the ethics committee— were counted and analyzed in this study.” + +# diff --git a/reference/cost-barriers/463-data-and-site-monitoring.md b/reference/cost-barriers/463-data-and-site-monitoring.md new file mode 100644 index 00000000..de10de3a --- /dev/null +++ b/reference/cost-barriers/463-data-and-site-monitoring.md @@ -0,0 +1,15 @@ +### 4.6.3 Data and Site Monitoring + +Data and site monitoring costs are another key barrier that is largely self-imposed by sponsors. In general, industry-sponsored trials are monitored by individuals who visit sites at intervals defined by their company standard operating procedure (SOP) or study-specific monitoring plan. The pharmaceutical industry estimates that monitoring can account for 15 to 30 percent of total trial costs (Davis, Nolan, Woodcock, & Estabrook, 1999). It is common practice in the industry to conduct site visits frequently (every 4-8 weeks), and source data verification (SDV)—the process of ensuring that the reported trial data are complete and consistent with study subject source records—consumes quite a bit of time during these visits (Usher, 2010; Tantsyura, et al., 2010). + +One particularly costly practice is 100 percent SDV. FDA regulations do not require study monitors to check every single source data point at every investigative site, but risk aversion and a conservative interpretation of the regulations has resulted in 100 percent SDV becoming the industry standard (Korieth, 2011). Seeking to avoid negative outcomes of rigorous site inspection audits (which could threaten drug approval), sponsors have voluntarily borne the extremely high costs of 100 percent SDV by on-site monitors in multicenter trials (Kramer, Smith, & Califf, 2012). Eighty-two percent of pharmaceutical industry sponsors reported always verifying CRF data against source data. By contrast, only half of academic/government/cooperative organizations reported always doing so (Morrison, et al., 2011). A 2008 study found that, on average, SDV consumes one-third of companies’ entire Phase 3 trial budget (Getz K. A., 2011a). Because the cost of SDV depends on the size of the study and the complexity of the protocol, the overall trend toward larger, more complex studies is making it increasingly expensive and logistically difficult to check every data point at every site (Korieth, 2011). + +Despite its high cost, there is no evidence to suggest that 100 percent SDV significantly improves data quality or likelihood of drug approval (Kramer, Smith, & Califf, 2012). There are a number of possible explanations for this. First, resources are often expended to verify data that is largely or completely irrelevant to study outcomes, such as vital signs or other health information that is not central to the study. Second, it is not likely that drugs will fail to get approval because of SDV issues; there are much more critical areas of concern, such as protocol violations. Third, 100 percent SDV does not even ensure 100 percent accuracy; for a human manually looking for errors, the error rate is 15 percent (meaning the process is only 85 percent accurate) (Korieth, 2011; Society for Clinical Data Management, 2005). Fourth, this approach may lead to the detection of some types of errors (e.g., transcription mistakes), but it does not prevent other data integrity problems (e.g., transcription errors within the source document itself, fraud, misreporting of data by the study participant) (Tantsyura, et al., 2010). + +Given its enormous costs and the lack of evidence supporting the value of 100 percent SDV, some industry representatives recommend a shift to partial or risk-based monitoring approaches; however, there are key barriers that must first be overcome. The pervasive risk-aversion in the industry is perhaps the biggest obstacle to the adoption of more efficient monitoring practices. There are not yet wellestablished processes or controls for partial or risk-based monitoring, and drug companies are hesitant to change their practices without FDA guidance on what is acceptable. Even though FDA has released draft guidance (in August 2011) on risk-based monitoring approaches (U.S. Food and Drug Administration, 2011c), it is likely that some companies will still continue doing what they have done traditionally because it has proven successful in the past. There are also practical hurdles; the most commonly used EDC and electronic clinical trial systems were designed to support 100 percent SDV, so technology vendors must change their systems so that they permit partial SDV before such approaches can be widely adopted by industry (Korieth, 2011). + +If these barriers can be overcome, the savings for drug sponsors would be enormous. A 2010 study published in the Drug Information Journal found that sponsors could save up to 23.5 percent on Phase 3 oncology study costs by cutting SDV to 50 percent and reducing monitoring frequency accordingly from 6- to 10-week periods (Tantsyura, et al., 2010). The Phase 2 savings are estimated at 16.7 percent. For a cardiology study, the Phase 2 and Phase 3 savings are estimated at 11.6 percent and 14.3 percent, respectively. These cost reductions are a function of reduced per-page review time and reduced number of site visits by monitors, which mean fewer hours spent by monitors on-site and reduced travel expenses (Tantsyura, et al., 2010). “The potential savings are approximately three to four billion dollars in the U.S. alone,” said Vadim Tantsyura, the study’s author and the director of data management for Infinity Pharmaceuticals (Korieth, 2011). + +It is also worth noting that several sponsors have yet to make the transition from paper-based studies to use of EDC technologies. Though EDC has been gaining ground, the perception that “everyone uses EDC now” is inaccurate; as of 2007, EDC was used in approximately 50 percent of new trials (Neuer, Warnock, & Slezinger, 2010), and the issues surrounding reliance on paper records were still being raised in the April 2012 FDA hearing on modernizing clinical trials. Moving away from paper results in reduced paper handling costs and allows for fewer site-monitoring visits and easier query resolution (Neuer, Warnock, & Slezinger, 2010). It also eliminates inefficiencies arising from transcription of data from paper to electronic format (U.S. Food and Drug Administration, 2012). Though the longer-term cost and time savings that are achievable through adoption of EDC are substantial, the upfront cost of the EDC system is a key barrier for companies (especially smaller companies) considering the switch (Neuer, Warnock, & Slezinger, 2010). + +# diff --git a/reference/cost-barriers/464-serious-adverse-events-saes-reporting-for-investigational-new-drugs-and-biologics-inds-21-cfr-312.md b/reference/cost-barriers/464-serious-adverse-events-saes-reporting-for-investigational-new-drugs-and-biologics-inds-21-cfr-312.md new file mode 100644 index 00000000..69323bd8 --- /dev/null +++ b/reference/cost-barriers/464-serious-adverse-events-saes-reporting-for-investigational-new-drugs-and-biologics-inds-21-cfr-312.md @@ -0,0 +1,5 @@ +### 4.6.4 Serious Adverse Events (SAEs) Reporting for Investigational New Drugs and Biologics (INDs) (21 CFR 312) + +Legal advisors have traditionally encouraged sponsors to be nonselective in their reporting of unexpected SAEs to avoid any suspicion among regulators that they were withholding information (at least prior to March 2011, when a new drug safety reporting regulation was implemented) (Kramer, Smith, & Califf, 2012). In situations where drug sponsors are uncertain as to which events must be reported, they are inclined to err on the side of over-reporting rather than under-reporting. Possible areas of ambiguity or excess burden related to the safety reporting regulations themselves are discussed in Section 4.5. + + diff --git a/reference/cost-barriers/47-disconnect-between-clinical-research-and-medical-care.md b/reference/cost-barriers/47-disconnect-between-clinical-research-and-medical-care.md new file mode 100644 index 00000000..a59789dd --- /dev/null +++ b/reference/cost-barriers/47-disconnect-between-clinical-research-and-medical-care.md @@ -0,0 +1,11 @@ +### 4.7 Disconnect Between Clinical Research and Medical CARE + +Janet Woodcock, director of CDER, identified the separation between clinical research and clinical practice in the United States as one of the most serious problems with the current clinical research enterprise (English, Lebovitz, & Giffin, 2010). The problem is a multi-faceted one that also serves to reinforce many of the barriers discussed in other sections, such as shortages of investigators and patients, high costs, and lengthy timelines. + +One aspect of this problem is the lack of involvement of community physicians in the clinical research process (English, Lebovitz, & Giffin, 2010). Most U.S. health systems and clinical practice sites do not include research as part of their mission (Kramer, Smith, & Califf, 2012); thus, there are fewer physician referrals of patients to clinical research studies and fewer investigators available to conduct the research than there might be otherwise. This also means that research findings are less likely to be adopted by such physicians in their regular practice (English, Lebovitz, & Giffin, 2010). Many health care professionals do not receive training in research methods (Bonham, Califf, Gallin, & Lauer, 2011) and have difficulty understanding research results and therefore applying them (Kramer, Smith, & Califf, 2012) (discussed in greater detail in Section 4.8). + +Apart from issues of mission and training, there exist some disincentives for clinicians to participate in research. The U.S. system is one that encourages physicians to focus on efficiency and profitability, and discourages clinical research for being risky, time-consuming, and costly (Kramer, Smith, & Califf, 2012). Furthermore, although participation in pharmaceutical industry-sponsored clinical trials can be an attractive way for physicians to supplement their incomes (Ashar, Miller, Getz, & Powe, 2004), there is a great deal of scrutiny of doctors who work with pharmaceutical companies, due in part to media attention to conflict of interest cases. Any gifts or other “freebies” doctors receive from drug companies must be reported according to the Physician Payment Sunshine provision under the Patient Protection and Affordable Care Act, and several states have additional rules governing physicianindustry relations (Milne C. , 2012). While these safeguards against conflicts of interest are important, they have the unfortunate side effect of contributing to what some industry representatives described as a prevailing attitude of suspicion toward physician involvement in industry-sponsored clinical research. Such an atmosphere can dampen the appeal of the financial incentives provided by pharmaceutical companies and discourage physicians from participating in trials. + +The separation between clinical research and clinical care in the United States also produces data collection inefficiencies, as some of the data that are routinely collected in the course of clinical trials overlap with data collected for the purposes of clinical care. Integration of clinical care and clinical research datasets would eliminate redundancies in data collection, help researchers to identify potential study participants, and offer other efficiency gains. However, at present, such integration is hindered by the lack of standard nomenclature and blend of incompatible paper and electronic data collection systems used in clinical care/billing and clinical research (Kramer, Smith, & Califf, 2012; Califf & Muhlbaier, 2003). + + diff --git a/reference/cost-barriers/48-barriers-at-academic-institutions.md b/reference/cost-barriers/48-barriers-at-academic-institutions.md new file mode 100644 index 00000000..16db1994 --- /dev/null +++ b/reference/cost-barriers/48-barriers-at-academic-institutions.md @@ -0,0 +1,13 @@ +### 4.8 Barriers at Academic Institutions + +There are cases in which drug sponsors might find it appealing or necessary to use academic institutions as trial sites. For instance, sponsors might seek to employ key opinion leaders who are affiliated with a particular institution, or they may be studying a very specialized disease area for which patients can only be found in sufficient numbers at certain universities, medical schools, or other academic sites. Despite these benefits, many aspects of academic institutions are not conducive to efficient and successful clinical research. + +Academic institutions have a reputation for taking their ethical and regulatory oversight responsibilities to extremes and creating bureaucratic entanglements that add months to clinical trial timelines (Kramer, Smith, & Califf, 2012; Dilts & Sandler, 2006). A recent study found that the number of steps necessary to open a clinical trial at academic centers was over 110, in contrast to fewer than 60 steps at non-academic centers. The number of approval signatures needed ranged from 11 to 27, compared to a maximum of 11 at non-academic centers (Dilts & Sandler, 2006). For multi-site trials, sponsors and CROs must negotiate contracts individually with each participating institution, and, in a study of 218 trials at academic institutions, the mean time taken for grants and contracts approval was 100 days (which is even longer than IRB review takes, at 69 days) (Kramer, Smith, & Califf, 2012; Dilts & Sandler, 2006). + +Though it does not take up as much time as the grants and contract approval process, obtaining ethical approval is another source of frustration for drug sponsors working with academic institutions. As discussed in Section 4.5, use of central IRBs can greatly improve the efficiency of this process; however, academic institutions are often unwilling to defer to these central IRBs. While one pharmaceutical company representative was optimistic that this reluctance was beginning to fade for the sake of staying competitive with other sites, there are other factors that might be difficult to overcome. For one thing, academic institutions have already invested in developing their own internal IRBs (as well as the electronic systems required for protocol submissions to those IRBs), so officials at those institutions will likely be hesitant to let those investments go to waste and lose financial support to a central IRB (Kramer & Schulman, 2011). Another interviewee explained that academic institutions are concerned about relinquishing their responsibility without also being relieved of some of their liability. + +Aside from the regulatory and administrative roadblocks, many academic medical centers undervalue or fail to provide incentives for clinical research. There is a perception that clinical research is less intellectually rigorous than basic research. Moreover, many academic institutions do not inculcate in their students, trainees, and faculty a sense of professional obligation to generate new medical knowledge as part of clinical practice. As a result, faculty engaged in clinical research struggle for resources in the academic setting and face special challenges in achieving academic promotion and tenure. Students observing their struggle are less likely to choose the clinical research career path (Kramer, Smith, & Califf, 2012). + +A related issue is the failure of academic medical curricula at the graduate and undergraduate levels to encourage fundamental principles of clinical research. Even training designed for investigators neglects research principles in favor of an emphasis on strict compliance with standard operating procedures (Kramer, Smith, & Califf, 2012). Those studying to be physicians are not adequately trained in advanced statistical methods to interpret clinical trial results (even at the level at which they are reported in medical journals), impairing their ability to use such results to inform their clinical care and practice evidence-based medicine (Kramer, Smith, & Califf, 2012; Horton & Switzer, 2005). For example, in a survey of 367 residents from 11 programs, only 37.4 percent knew how to interpret an adjusted odds ratio from a multivariate regression analysis. Seventy-five percent of survey respondents said they did not understand all the statistics they saw in journal articles, but the vast majority felt it was important to be familiar with the concepts in order to understand the literature (Kramer, Smith, & Califf, 2012; Windish, Huot, & Green, 2007). + + diff --git a/reference/cost-barriers/49-barriers-related-to-the-globalization-of-clinical-research.md b/reference/cost-barriers/49-barriers-related-to-the-globalization-of-clinical-research.md new file mode 100644 index 00000000..015587cc --- /dev/null +++ b/reference/cost-barriers/49-barriers-related-to-the-globalization-of-clinical-research.md @@ -0,0 +1,87 @@ +### 4.9 Barriers Related to the Globalization of Clinical Research + +Another significant barrier to conducting clinical trials in the United States is competition from sites in other countries; indeed, the clinical research footprint is shifting overseas. The number of active, FDA-regulated investigators based outside the United States has grown by 15 percent each year since 2002, while the number of U.S.-based investigators has fallen by 5.5 percent annually (Getz K. A., 2007). A recent study of industry-sponsored Phase 3 clinical trials for the 20 largest U.S.-based pharmaceutical companies found that approximately one third of the trials are being conducted entirely outside the United States and that over half of all study sites are located in other countries. The number of non-U.S. countries being used as trial sites more than doubled between 1995 and 2005, while the proportion of trials conducted in the United States and Western Europe decreased (Glickman, et al., 2009). + +There are a number of factors driving this geographical shift. First, significant cost savings are possible, particularly in developing countries (Bailey, Cruickshank, & Sharma; Glickman, et al., 2009). One pharmaceutical company representative reported that a top-tier academic medical center in India charges around $1,500 to $2,000 per case report, which is less than a tenth of the cost at a second-tier center in the United States (Glickman, et al., 2009). Human labor accounts for much of the cost of clinical research, and salaries for physicians, nurses, and study coordinators in developing countries are lower than they are in the United States and other high-income countries (World Health Organization, 2006). Payment to clinical trial sites is also lower elsewhere than it is in the United States, and U.S.- based clinical trials are not as cost-effective (in terms of cost per patient visit) as trials based in other countries (English, Lebovitz, & Giffin, 2010). + +Second, shorter timelines, due largely to faster recruitment, are also possible outside the United States. Countries such as China, India, and Russia have large potential patient pools that can help accelerate the otherwise time-consuming recruitment process (Bailey, Cruickshank, & Sharma; Glickman, et al., 2009). One industry representative said participants could be found in India in approximately half the time it takes to recruit in the West (Rai, 2005). For some diseases, such as malaria, sufficient numbers of patients can only be found in other countries (GlaxoSmithKline, 2011). Ultimately, U.S. investigators enroll only two-thirds as many patients as investigators elsewhere (English, Lebovitz, & Giffin, 2010). + +Third, conducting trials in other countries allows drug sponsors to access more commercial markets for the drug they are testing. Increasingly, foreign regulatory agencies are demanding that drugs be tested on their own populations before they will allow the drug to be registered in their country; thus, sponsors conduct trials in those countries to fulfill those demands (Schmidt, 2001). + +Fourth, conduct standards and intellectual property protection have improved in foreign countries, making these sites more attractive than they have been in the past. A key driver of this improvement has been the widespread adoption of the ICH Technical Requirements for Registration of Pharmaceuticals for Human Use Good Clinical Practice (ICH-GCP) guidelines (Bailey, Cruickshank, & Sharma; Glickman, et al., 2009; Schmidt, 2001; International Conference on Harmonisation of Technical Requirements for Registration of Pharmaceuticals for Human Use (ICH), 1996). The ICH-GCP guidelines establish a set of universal principles to which all clinical trials should adhere, including requirements to follow ethical standards, ensure scientific soundness, preserve the rights and safety of trial subjects, and maintain confidentiality of records, among others (Kramer, Smith, & Califf, 2012). + +Fifth, the regulatory environment in wealthy countries, including the United States, has become increasingly burdensome to drug sponsors (Glickman, et al., 2009). More detailed discussion of regulatory barriers can be found in Section 4.5. + +Given the factors listed above, it is easy to understand why drug sponsors might decide to shift part or all of their clinical research operations overseas. However, in doing so, they create a new set of potential scientific, ethical, and practical problems. From the standpoint of U.S. clinical care, there is concern that results from trials conducted in other countries may not be generalizable to the U.S. population. Indicators of standards of care for a particular site or country often are not reported, so it is difficult to tell whether different places are really comparable (Glickman, et al., 2009). Furthermore, some diseases may go untreated or undertreated in developing countries, making it easier to find trial participants whose outcomes will not be complicated by prior medications. Such patient populations are not representative of the types of people who would be using the drug in higher income countries, more specifically, patients for whom previous treatments have failed (Glickman, et al., 2009). Finally, geographically dispersed populations may have genetic differences that cause them to respond differently to drugs. Thus, a U.S. patient might have a different reaction to a drug compared to a patient from Asia or Eastern Europe, for example. These genetic differences are often not accounted for in study design or reporting of results (Glickman, et al., 2009). + +Aside from the scientific concerns, conducting trials in other countries can also be ethically challenging. This is especially true in developing countries, where research involving human subjects is complicated by factors such as lack of education, poverty, and low health care standards. Participants may not fully understand the trial process or their role, or they may feel compelled to participate by the promise of financial compensation or access to health care that might otherwise be outside their reach (Glickman, et al., 2009). Beyond the generalizability concerns discussed above, it is also ethically questionable to conduct trials in places that are not intended to be major markets for the drug being studied (Glickman, et al., 2009). Lastly, there is a lack of transparency with regard to clinical research in many developing countries. The International Committee of Medical Journal Editors created the “Uniform Requirements for Manuscripts Submitted to Biomedical Journals: Writing and Editing for Biomedical Publication” (International Committee of Medical Journal Editors, 2010), but investigators in developing countries tend to be less well-versed in these guidelines and less experienced, which can be a barrier to obtaining trial data and publishing results (Glickman, et al., 2009). + +Practically speaking, conducting trials at multiple sites across different countries magnifies the barriers associated with multicenter trials, including lack of harmonization among regulations across multiple jurisdictions and difficulties in enforcing consistency in protocol across multiple trial sites. Further discussion of these types of barriers can be found in the previous sections. + +## 5 Analysis of Barriers to Clinical Trials + +Using information gathered in the literature searches and drug sponsor interviews, we developed a list of potential approaches to reducing or eliminating many of the barriers discussed above. This list of strategies to mitigate barriers was then further refined based on discussions with the working group. In order to select a set of barriers/alternatives to analyze, the working group considered whether each proposed strategy could be alleviated by policies, whether the appropriate policies could be implemented or encouraged by FDA, and whether there was evidence in the literature that could be used to quantify the potential impacts of those policies on clinical trial costs. Based on these criteria, we selected the following barrier mitigation strategies for analysis: + +- Use of electronic health records (EHR) +- Looser trial enrollment restrictions +- Simplified clinical trial protocols and reduced amendments +- Reduced source data verification (SDV) +- Wider use of mobile technologies, including electronic data capture (EDC) +- Use of lower-cost facilities or at-home testing +- Priority Review/Priority Review vouchers +- Improvements in FDA review process efficiency and more frequent and timely interactions with FDA + +In the context of the clinical trials decision-making framework described above, the barriers can be thought of as those factors that contribute to the cost of each event node and/or those that affect the probability of success. All of the barriers discussed previously ultimately increase the total cost of clinical trials, thus reducing the eNPV of drug development from the point of view of the drug sponsor. In the clinical trials cost model, implementation of policies to alleviate these barriers is captured in the form of reduced clinical trial costs, reduced duration, or changes to other relevant parameters. Within the model interface, users have the option to select one or more approaches from the above list to see the impact on expected trial costs. In general, if the multiple strategies selected impact the same cost parameters, the effects are assumed to be additive, meaning that the associated percentage reductions are summed and then applied to the default values. The individual barrier mitigation strategies and their impacts on model parameters are discussed in further detail below. + +Our estimates of the impacts of each approach are based on data available in the published literature and may therefore omit certain other impacts where data do not exist. In the detailed descriptions of each strategy below (Table 3), we discuss the impacts on model parameters that we were able to quantify using published estimates and also list any other parameters that are likely to be impacted but for which we do not have a basis to estimate the magnitude of effect. Given these data limitations, it is therefore necessary to note that the impacts of each strategy on clinical trial costs are likely to be underestimates. + +**Table 3: Barrier Mitigation Measures and Associated Modeling Approach for Analysis** + +| Barrier Mitigation Measures | Approach to Modeling | Notes/Sources | +| --- | --- | --- | +| Encourage more widespread use of electronic health records (EHR) for clinical research purposes | +- **_Patient Recruitment Costs (per patient)_**: Reduced by 35.9% +- **_Number of Patients (per site):_** Reduced by 12.3% + + | Notes: Adoption rate of 16% in 2009 has been used to adjust the percentages/effects reported in the literature. Source: U.S. Department of Health & Human Services, 2012; Deloitte, 2009. | +| Encourage sponsors to carefully consider their trial enrollment restrictions | + +- _**Patient Recruitment Costs (per patient):**_ Reduced by 21.3% + + | Source: Getz, 2008. | +| Encourage sponsors to simplify clinical trial protocols and plan carefully to avoid costly amendments, whenever possible; ensure that they have a clear understanding of what is required by FDA and what is superfluous | + +- **_Data Collection, Management and Analysis Costs (per study):_** Reduced by 22.5% +- **_Number of IRB Amendments (per study):_** Reduced by 33% +- **_Clinical Procedure Total (per patient):_** Reduced by 22.3% + + | Source: Tufts, 2012; Getz, 2010b; Getz, 2008. | +| Engage sponsors in discussions on the topic of data and site monitoring to ensure that they are aware of the FDA guidance stating that 100% source data verification is not required | + +- **_SDV Cost (per data field):_** Reduced by 11.6% and 14.3% in Phases 2 and 3, respectively, for cardiology, and 16.7% and 23.5%, respectively, for oncology. For other therapeutic areas, simple averages (14.2% and 18.9%) are used. SDV costs will not be reduced for Phases 1 and 4. Using 100% SDV rates from Medidata, we adjust these impacts depending on how prevalent 100% SDV is by phase and therapeutic area. + + | Notes: Adoption rates by phase and therapeutic area used to adjust effects. Sources: Tantsyura, et al., 2010; Medidata | +| Encourage sponsors to make wider use of mobile technologies, centrally available data to evaluate site performance, electronic data capture (EDC), and other efficiency-improving options | + +- _**Phase Time (in years):**_ Reduced by 17.6% in Phases 1, 2, 3, and 4. +- _**Number of Site Management Months, Number of Project Management Months, Number of Site Monitoring Days:**_ Reduced by the same percentage as Phase Time (in years) + + | Notes: Adoption rate of 50% in 2007-2008 has been used to adjust the percentages/effects reported in the literature. Source: Neuer, Warnock, & Slezinger, 2010. | +| Encourage sponsors to utilize lower-cost facilities (such as local clinics and pharmacies) or athome testing for data collection purposes whenever possible | + +- _**Phase Time (in years):**_ Portion of trial time attributed to enrollment (assumed to be one year each for Phases 1, 2, and 3) reduced by 67% +- **_Number of Site Management Months, Number of Project Management Months, Number of Site Monitoring Days:_** Reduced by the same percentage as Phase Time (in years) + + | Source: Shapiro, 2008; Marks & Power, 2002. | +| Grant developers of treatments for neglected diseases a “priority review voucher” | + +- **_Phase Time (in years):_** Review phase reduced to 0.5 years (6 months) + + | Source: Ridley, Grabowski, & Moe, 2006. | +| Conduct internal reviews of efficiency within the FDA and make improvements where possible (also engage in more frequent and timely interactions with industry) | + +- **_Phase Time (in years):_** Review phase reduced to 0.833 years (10 months) + + | Source: U.S. Food and Drug Administration, 2012c. | + + diff --git a/reference/cost-barriers/51-use-of-electronic-health-records-ehr.md b/reference/cost-barriers/51-use-of-electronic-health-records-ehr.md new file mode 100644 index 00000000..63f7d2ae --- /dev/null +++ b/reference/cost-barriers/51-use-of-electronic-health-records-ehr.md @@ -0,0 +1,39 @@ +### 5.1 Use of Electronic Health Records (ehr) + +In the context of clinical research, electronic health records (EHR) can help physicians to quickly locate patients that meet the inclusion/exclusion criteria for participation in trials and thereby make it easier for them to generate referrals and enrollments. For example, one EHR-based approach that has been utilized is a clinical trial alert (CTA) system, which is designed to notify physicians of ongoing trials and their patients’ potential eligibility (if patients’ EHRs indicate that they meet selected trial criteria). One study found that the CTA intervention at The Cleveland Clinic in Cleveland, Ohio, contributed to a 10-fold increase in physicians’ referral rate and a doubling of their enrollment rate (Embi, et al., 2005). + +To translate these recruitment benefits to impacts on parameters in our trial cost estimation model, we consulted a 2009 report produced by Deloitte on secondary uses of EHR data in life sciences, which includes an illustrative example of the potential benefits of integrating EHR with drug development. According to the report, use of EHR data and patient alerts reduces the attrition rate by 50 percent (Deloitte, 2009), which would reduce the number of patients that must be initially recruited. In the example, 2,000 patients are enrolled in anticipation of a 25 percent attrition rate. The target number of patients is therefore 1,500. If the attrition rate is reduced by 50 percent (to 12.5 percent), sponsors only need to enroll 1,714 patients to end up with the same number of patients (1,500) for the trial. This amounts to a 14.3 percent reduction in the number of patients that must be enrolled (relative to 2,000). + +Additionally, the 2009 Deloitte report cited previous studies indicating that EHR can drive a 28 percent increase in eligible patient identification and a doubling of monthly patient enrollment rates. We translated these figures to a reduction in patient recruitment costs of roughly 30 to 50 percent and settled on a midpoint of 40 percent. While it is also possible that EHR could impact patient retention and associated per-patient costs, it was not clear from the literature how one might adjust those costs (aside from reducing the number of patients by which they were multiplied). Depending on how EHR is used, it may also contribute to lower data collection costs, but these effects are also yet unquantifiable. + +As EHR is already used to some degree in clinical research, it is necessary to adjust our estimated impacts by the appropriate rate of adoption. In other words, the cost data we have from Medidata already reflect the fact that some use of EHR is already taking place; therefore, the average percentage reduction in costs resulting from wider use of EHR will not be as high as it would be if it were not yet being used at all. According to a figure reported by HHS in a news release, the EHR adoption rate was 35 percent in 2011, up from 16 percent in 2009 (hospital settings) (U.S. Department of Health & Human Services, 2012). As our data from Medidata spans the period between 2004 and 2012, we chose to use the 16 percent adoption rate from 2009 to adjust our estimates because it is closer to the midpoint of the time period covered by our data and therefore more likely to approximate the average adoption rate across all trials observed for our cost model. Having made this adjustment, we arrive at a 12.3 percent reduction in the number of patients that must be enrolled and a 35.9 percent reduction in patient recruitment costs (per patient). + +Table 4 below provides estimates of expected reductions in per-study costs by phase and overall due to EHR adoption in clinical research across the different therapeutic areas. + +**Table 4: Projected Impacts of EHR Use on Clinical Trial Costs (in $ Millions and in Percentages), by Therapeutic Area and Phase \[a\]** + +| Therapeutic Area | Phase 1 | Phase 2 | Phase 3 | Phase 4 | +| --- | --- | --- | --- | --- | +| $ | % | $ | % | $ | % | $ | % | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Anti-Infective | \-$0.3512 | \-8.27% | \-$0.5841 | \-4.11% | \-$1.4161 | \-6.21% | \-$0.8032 | \-7.31% | +| Cardiovascular | \-$0.1251 | \-5.78% | \-$0.3866 | \-5.51% | \-$1.8534 | \-7.35% | \-$0.7256 | \-2.61% | +| Central Nervous System | \-$0.2657 | \-6.78% | **\-$1.1428** | **\-8.24%** | \-$1.6784 | \-8.72% | \-$0.7480 | \-5.29% | +| Dermatology | \-$0.0940 | \-5.25% | \-$0.4070 | \-4.59% | \-$0.7127 | \-6.22% | \-$1.2045 | \-4.77% | +| Endocrine | \-$0.0588 | \-4.09% | \-$0.6910 | \-5.73% | \-$0.9985 | \-5.89% | \-$1.3281 | \-4.97% | +| Gastrointestinal | \-$0.1151 | \-4.81% | \-$1.0225 | \-6.46% | \-$1.2706 | \-8.78% | \-$0.8899 | \-4.08% | +| Genitourinary System | \-$0.1984 | \-6.43% | \-$0.8104 | \-5.55% | \-$1.1488 | \-6.55% | \-$0.2666 | \-3.92% | +| Hematology | \-$0.0244 | \-1.43% | \-$0.6043 | \-3.09% | \-$0.4642 | \-3.09% | \-$0.8521 | \-3.16% | +| Immunomodulation | \-$0.4476 | \-6.82% | \-$1.0503 | \-6.57% | \-$0.6348 | \-5.34% | \-$1.2160 | \-6.14% | +| Oncology | \-$0.3026 | \-6.74% | \-$0.6828 | \-6.08% | \-$1.1523 | \-5.21% | \-$2.8862 | **\-7.43%** | +| Ophthalmology | **\-$0.4602** | **\-8.62%** | \-$0.9634 | \-6.98% | \-$2.2501 | \-7.32% | \-$0.9463 | \-5.39% | +| Pain and Anesthesia | \-$0.0565 | \-3.97% | \-$0.9166 | \-5.40% | \-**$2.5282** | \-4.78% | \-$1.5528 | \-4.83% | +| Respiratory System | \-$0.3139 | \-6.06% | \-$0.7087 | \-5.82% | \-$1.2338 | \-5.34% | **\-$4.6818** | \-6.42% | + +\[a\] The numbers in bold represent the highest savings in dollars and in percentages within that phase. Note that sometimes the highest dollar reduction does not necessarily correspond to the highest reduction in percentage terms. + +--- + +In Phase 1 studies, cost savings due to EHR adoption are highest for ophthalmology ($0.5 million, representing 8.6 percent of study cost). Cost savings range from $0.4 million (cardiovascular and dermatology) to as high as $1.1 million (central nervous system and immunomodulation) in Phase 2 studies. According to our model, the largest savings in costs from EHR adoption are achievable in Phase 3 studies with ranges from $0.5 million (hematology) to $2.5 million (pain and anesthesia). Similarly, Phase 4 study savings could be as high as $4.7 million (respiratory system) due to EHR implementation. + + diff --git a/reference/cost-barriers/52-relaxing-trial-enrollment-restrictions.md b/reference/cost-barriers/52-relaxing-trial-enrollment-restrictions.md new file mode 100644 index 00000000..6e05f5ef --- /dev/null +++ b/reference/cost-barriers/52-relaxing-trial-enrollment-restrictions.md @@ -0,0 +1,33 @@ +### 5.2 Relaxing Trial Enrollment Restrictions + +This approach involves encouraging drug sponsors to relax the strict trial enrollment restrictions in the interests of facilitating the patient recruitment process, which, as explained in Section 4.6 above, is a significant barrier to beginning and completing clinical trials. To quantify the impact of this strategy, we used data reported in a 2008 article by Kenneth Getz, which found that “\[e\]nrollment rates for volunteers who met the rising number of protocol eligibility criteria dropped from 75 percent to 59 percent between the 1999–2002 and 2003–2006 time periods \[...\]. Patient enrollment cycle times increased for protocols conducted in the latter time period” (Getz K. A., 2008). + +For the purposes of modeling this approach, we assumed that looser trial enrollment restrictions would result in a return to the higher enrollment rates seen in the period from 1999 to 2002, a 27.1 percent increase from the rates in the more recent period (which would more accurately represent the cost data from Medidata for the 2004 to 2012 period). As enrollment rate is not a parameter in our cost model, we translate this increase in enrollment rates number to a 27.1 percent _decrease_ in recruitment costs per patient. Table 5 summarizes expected cost savings from relaxing trial enrollment restrictions per study. + +**Table 5: Projected Impacts of Relaxing Trial Enrollment Restrictions on Clinical Trial Costs (in $ Millions and in Percentages), by Therapeutic Area and Phase \[a\]** + +| **Therapeutic Area** | **Phase 1** | **Phase 2** | **Phase 3** | **Phase 4** | +| --- | --- | --- | --- | --- | +| **$** | **%** | **$** | **%** | **$** | **%** | **$** | **%** | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Anti-Infective | \-$0.0310 | \-0.73% | \-$0.0408 | \-0.29% | \-$0.0902 | \-0.40% | \-$0.0809 | \-0.74% | +| Cardiovascular | \-$0.0080 | \-0.37% | \-$0.0345 | \-0.49% | \-$0.1274 | \-0.51% | \-$0.0679 | \-0.24% | +| Central Nervous System | **\-$0.0339** | **\-0.87%** | \-$0.1318 | \-0.95% | \-$0.1884 | \-0.98% | \-$0.1198 | \-0.85% | +| Dermatology | \-$0.0041 | \-0.23% | \-$0.0444 | \-0.50% | \-$0.0669 | \-0.58% | \-$0.0813 | \-0.32% | +| Endocrine | \-$0.0089 | \-0.62% | \-$0.0884 | \-0.73% | \-$0.1528 | \-0.90% | \-$0.1811 | \-0.68% | +| Gastrointestinal | \-$0.0071 | \-0.30% | \-$0.1270 | \-0.80% | \-$0.0783 | \-0.54% | \-$0.0555 | \-0.25% | +| Genitourinary System | \-$0.0193 | \-0.63% | \-$0.1063 | \-0.73% | \-$0.2426 | **\-1.38%** | \-$0.0484 | \-0.71% | +| Hematology | \-$0.0036 | \-0.21% | \-$0.0747 | \-0.38% | \-$0.0689 | \-0.46% | \-$0.1833 | \-0.68% | +| Immunomodulation | \-$0.0327 | \-0.50% | \-$0.0639 | \-0.40% | \-$0.0780 | \-0.66% | \-$0.1765 | \-0.89% | +| Oncology | \-$0.0191 | \-0.43% | \-$0.0347 | \-0.31% | \-$0.0518 | \-0.23% | \-$0.3701 | \-0.95% | +| Ophthalmology | \-$0.0032 | \-0.06% | \-$0.0329 | \-0.24% | \-$0.0406 | \-0.13% | \-$0.1281 | \-0.73% | +| Pain and Anesthesia | \-$0.0055 | \-0.39% | **\-$0.2049** | **\-1.21%** | **\-$0.4113** | \-0.78% | \-$0.3443 | **\-1.07%** | +| Respiratory System | \-$0.0206 | \-0.40% | \-$0.0401 | \-0.33% | \-$0.1016 | \-0.44% | **\-$0.5490** | \-0.75% | + +\[a\] The numbers in bold represent the highest savings in dollars and in percentages within that phase. Note that sometimes the highest dollar reduction does not necessarily correspond to the highest reduction in percentage terms. + +--- + +Expected savings across most therapeutic areas and phases is in the order of $0.0 to $0.1 million. In Phases 2 and 3, the savings for pain and anesthesia studies, however, could be as high as $0.2 million and $0.4 million per study representing around 1 percent of study costs, respectively. In Phase 4, largest savings could be realized for respiratory system ($0.5 million) and oncology ($0.4 million) studies. + + diff --git a/reference/cost-barriers/53-simplified-clinical-trial-protocols-and-reduced-amendments.md b/reference/cost-barriers/53-simplified-clinical-trial-protocols-and-reduced-amendments.md new file mode 100644 index 00000000..e8530a52 --- /dev/null +++ b/reference/cost-barriers/53-simplified-clinical-trial-protocols-and-reduced-amendments.md @@ -0,0 +1,35 @@ +### 5.3 Simplified Clinical Trial Protocols and Reduced Amendments + +This strategy is meant to address the costs associated with collection of unnecessary data and implementing avoidable protocol amendments. Eliminating these inefficiencies has the potential to reduce the magnitude of several cost parameters represented in our model. As described in Section 4.6.2 above, drug sponsors estimate that approximately 15 to 30 percent of all clinical data collected is never used in New Drug Application (NDA) submissions, according to a 2010 article by Kenneth Getz of Tufts CSDD (Getz K. A., 2010b). Therefore, to model the data collection savings that would result from streamlining trial protocols, we reduced data collection, management and analysis costs (per study) by 22.5 percent in all phases (the midpoint of 15 and 30 percent). + +If protocols are simplified, fewer clinical procedures will need to be performed yielding an additional source of savings. According to a recent study conducted by Tufts CSDD, 22.3 percent of all procedures are considered to be non-core and can be considered “extraneous” (Tufts CSDD, 2012). Based on this information, we also reduced the clinical procedure total (per patient) by 22.3 percent in all phases. + +To quantify the cost savings associated with eliminating avoidable protocol amendments, we referred to the recent Getz/Tufts study discussed above, which found that 33 percent of amendments were “avoidable” or “somewhat avoidable” (Getz, et al., 2011). In our interviews, we heard from one industry representative that his company categorizes its protocol amendments either as avoidable or unavoidable (“unavoidable” being instances of unforeseen requirements or new data surfacing; “avoidable” being problems of oversight, for example, that could be minimized through better planning) and found that the breakdown was roughly even across the two categories. To be conservative, we reduced the number of IRB amendments by 33 percent in our model (as explained in Section 2 above, the average numbers of IRB amendments by phase and therapeutic area were derived from this same Tufts study). + +In addition to the effects listed above, this approach would also likely impact the number of SDV fields (as the amount of data being collected would be reduced) and registered nurse (RN)/clinical research associate (CRA) and physician costs per patient (as the number of procedures performed would be reduced). Furthermore, simplified trial protocols might make trial participation less burdensome and exhausting to patients, thereby making it easier and perhaps cheaper to recruit and retain patients. However, we did not have enough information to include these additional effects in our modeling. + +Table 6 presents the expected cost savings from implementation of simplified clinical trial protocols and reduced amendments. These range from $0.0 million (hematology) to $0.6 million (ophthalmology) in Phase 1, $0.3 million (hematology, anti-infective, cardiovascular, and dermatology) to $1.1 million (ophthalmology) in Phase 2, and from $0.2 million (hematology) to $2.4 million (ophthalmology) in Phase 3. At the upper end, the savings amount to 8 to 12 percent of study costs in ophthalmology across Phase 1 through Phase 3. In Phase 4, savings could range from $0.2 million (genitourinary system) to $4.2 million (respiratory system). + +**Table 6: Projected Impacts of Simplified Clinical Trial Protocols and Reduced Amendments on Clinical Trial Costs (in $ Millions and in Percentages), by Therapeutic Area and Phase \[a\]** + +| **Therapeutic Area** | **Phase 1** | **Phase 2** | **Phase 3** | **Phase 4** | +| --- | --- | --- | --- | --- | +| **$** | **%** | **$** | **%** | **$** | **%** | **$** | **%** | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Anti-Infective | \-$0.2156 | \-5.08% | \-$0.3338 | \-2.35% | \-$0.5803 | \-2.54% | \-$0.3834 | \-3.49% | +| Cardiovascular | \-$0.1093 | \-5.05% | \-$0.2746 | \-3.92% | \-$0.9581 | \-3.80% | \-$0.5404 | \-1.95% | +| Central Nervous System | \-$0.1911 | \-4.88% | \-$0.9712 | \-7.00% | \-$1.3699 | \-7.12% | \-$0.5065 | \-3.59% | +| Dermatology | \-$0.0803 | \-4.49% | \-$0.3365 | \-3.79% | \-$0.4947 | \-4.32% | \-$0.7424 | \-2.94% | +| Endocrine | \-$0.0578 | \-4.02% | \-$0.4554 | \-3.77% | \-$0.5992 | \-3.53% | \-$0.7349 | \-2.75% | +| Gastrointestinal | \-$0.0673 | \-2.81% | \-$0.6175 | \-3.90% | \-$0.8908 | \-6.15% | \-$0.3439 | \-1.58% | +| Genitourinary System | \-$0.0991 | \-3.21% | \-$0.6445 | \-4.41% | \-$0.7381 | \-4.21% | \-$0.1593 | \-2.34% | +| Hematology | \-$0.0343 | \-2.01% | \-$0.2700 | \-1.38% | \-$0.2325 | \-1.55% | \-$0.3980 | \-1.47% | +| Immunomodulation | \-$0.2998 | \-4.57% | \-$0.8474 | \-5.30% | \-$0.4762 | \-4.01% | \-$0.8042 | \-4.06% | +| Oncology | \-$0.2547 | \-5.68% | \-$0.5828 | \-5.19% | \-$1.0610 | \-4.80% | \-$2.2442 | **\-5.78%** | +| Ophthalmology | **\-$0.6278** | **\-11.76%** | **\-$1.0921** | **\-7.91%** | **\-$2.3942** | **\-7.79%** | \-$0.4971 | \-2.83% | +| Pain and Anesthesia | \-$0.0476 | \-3.35% | \-$0.4451 | \-2.62% | \-$1.3552 | \-2.56% | \-$0.9239 | \-2.88% | +| Respiratory System | \-$0.3560 | \-6.88% | \-$0.5321 | \-4.37% | \-$1.2704 | \-5.50% | **\-$4.1830** | \-5.74% | + +\[a\] The numbers in bold represent the highest savings in dollars and in percentages within that phase. Note that sometimes the highest dollar reduction does not necessarily correspond to the highest reduction in percentage terms. + + diff --git a/reference/cost-barriers/54-reduced-source-data-verification-sdv.md b/reference/cost-barriers/54-reduced-source-data-verification-sdv.md new file mode 100644 index 00000000..ffa16463 --- /dev/null +++ b/reference/cost-barriers/54-reduced-source-data-verification-sdv.md @@ -0,0 +1,35 @@ +### 5.4 Reduced Source Data Verification (sdv) + +As discussed in Section 4.6.3 above, many sponsors continue to perform 100 percent source data verification (SDV) in spite of the fact that it is not required by FDA and evidence suggesting that it is not efficient. Thus, the central idea behind this alternative is to encourage industry to reconsider this practice and instead adopt more efficient risk-based approaches. + +The first step in estimating the impact of this alternative is quantifying the effect on costs of a movement away from 100 percent SDV in an average clinical trial. We obtained this information from a published study by Tantsyura, et al. (2010), which reported that expected overall (total study cost) savings associated with switching from 100 percent to 50 percent SDV are 11.6 percent for a typical Phase 2 cardiology study (238 subjects) and 16.7 percent for a typical Phase 2 study oncology (100 subjects), and potential savings in typical Phase 3 cardiology and oncology trials are 14.3 percent and 23.5 percent (1,282 subjects and 460 subjects), respectively (Tantsyura, et al., 2010). For cardiology and oncology, we were able to use the percentages reported in this study; for the other therapeutic areas and categories in our model, we used simple averages of the cardiology and oncology percentages (14.2 and 18.9 percent for Phase 2 and Phase 3, respectively). + +The second step in estimating the impact of reduced SDV is determining the extent to which this practice is actually still in use. In addition to the itemized clinical trial cost data, Medidata provided us with information on the rate at which sponsors report using 100 percent SDV for each clinical trial phase and therapeutic area combination. In this data provided, all partial SDV efforts are coded as not 100 percent SDV. By contrast, a “100 percent” in this field indicates that 100 percent SDV was used in every contract in the dataset for that phase and therapeutic area. For the sake of simplicity, we assumed that the adoption rate of reduced SDV was equal to 100 minus the percentage reported for each phase and therapeutic area combination; in other words, if the data showed that 67 percent of contracts used 100 percent SDV, we interpreted this to mean that reduced SDV was the adopted practice already in 33 percent of trials. For combinations for which data were missing, we used the average of all other therapeutic areas for that phase. + +Using these rates of reduced SDV, we were able to adjust the likely impacts of this approach to account for the fact that some reduction in SDV was already reflected in our cost data (i.e., not all trials were still utilizing 100 percent SDV). Conservatively assuming that there would be no impacts on Phase 1 and Phase 4 trials, in which SDV is less critical, we calculated the percentage reductions in SDV Cost (_per data field_) by phase and therapeutic area for Phases 2 and 3. It is also possible that reductions in SDV would result in shorter phase lengths, but we did not have enough information to model that change. + +Table 7 depicts the cost savings from reduced SDV practices per study. Because SDV only constitutes between 0.9 to 1.6 percent of overall study costs, the savings attributable to reduced SDV activities are minimal, around $0.1 million and $0.2 million (representing around 1 percent of study costs) in Phases 2 and 3 only, respectively. + +**Table 7: Projected Impacts of Reduced Source Data Verification (SDV) on Clinical Trial Costs (in $ Millions and in Percentages), by Therapeutic Area and Phase \[a\]** + +| **Therapeutic Area** | **Phase 1** | **Phase 2** | **Phase 3** | **Phase 4** | +| --- | --- | --- | --- | --- | +| **$** | **%** | **$** | **%** | **$** | **%** | **$** | **%** | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Anti-Infective | $0.0000 | 0.00% | \-$0.0789 | \-0.56% | \-$0.0836 | \-0.37% | $0.0000 | 0.00% | +| Cardiovascular | \-$0.0734 | \-1.05% | \-$0.1051 | \-0.42% | +| Central Nervous System | \-$0.1125 | \-0.81% | \-$0.1467 | \-0.76% | +| Dermatology | \-$0.1024 | **\-1.15%** | \-$0.0753 | \-0.66% | +| Endocrine | \-$0.0804 | \-0.67% | \-$0.1052 | \-0.62% | +| Gastrointestinal | \-$0.0657 | \-0.42% | \-$0.0845 | \-0.58% | +| Genitourinary System | \-$0.0992 | \-0.68% | \-$0.1269 | \-0.72% | +| Hematology | \-$0.1124 | \-0.57% | \-$0.1438 | **\-0.96%** | +| Immunomodulation | \-$0.1068 | \-0.67% | \-$0.0960 | \-0.81% | +| Oncology | **\-$0.1212** | \-1.08% | **\-$0.1958** | \-0.89% | +| Ophthalmology | \-$0.0648 | \-0.47% | \-$0.0787 | \-0.26% | +| Pain and Anesthesia | \-$0.1105 | \-0.65% | \-$0.1256 | \-0.24% | +| Respiratory System | \-$0.0654 | \-0.54% | \-$0.0717 | \-0.31% | + +\[a\] The numbers in bold represent the highest savings in dollars and in percentages within that phase. Note that sometimes the highest dollar reduction does not necessarily correspond to the highest reduction in percentage terms. + + diff --git a/reference/cost-barriers/55-wider-use-of-mobile-technologies-such-as-electronic-data-capture-edc.md b/reference/cost-barriers/55-wider-use-of-mobile-technologies-such-as-electronic-data-capture-edc.md new file mode 100644 index 00000000..2339b554 --- /dev/null +++ b/reference/cost-barriers/55-wider-use-of-mobile-technologies-such-as-electronic-data-capture-edc.md @@ -0,0 +1,33 @@ +### 5.5 Wider Use of Mobile Technologies Such as Electronic Data Capture (edc) + +Electronic data capture (EDC), described in Section 4.6.3 above, can streamline the patient screening and recruitment processes and allow for central statistical monitoring (Kramer & Schulman, 2011). While is it likely that adoption of EDC would impact many aspects of clinical trials, including site monitoring timelines and costs; site management and project management timelines; and data collection, management, and analysis costs, we only found information in the literature pertaining to the impact of EDC use on study duration and total costs. A 2010 paper reported that use of EDC resulted in a 30 percent decline in study duration (Neuer, Warnock, & Slezinger, 2010). Another study reported that use of EDC reduced total trial costs by 9.8 percent (Eisenstein, et al., 2008); however, we chose to model this approach using impacts on itemized parameters in order to allow for greater flexibility. + +As with some of the barrier mitigation strategies discussed above, it is necessary to adjust the 30 percent reduction in study duration by the baseline adoption rate. To do this, we used an adoption rate of 50 percent reported in the same paper: “By the end of 2007, nearly half of all new Phase 1 – 3 studies will be initiated using EDC” (Neuer, Warnock, & Slezinger, 2010). Again, this 2007 adoption rate was used instead of a more recent one because it more accurately reflects the average adoption rate across the entire time period covered by the cost data from Medidata. Thus, if we model this using the 30 percent decrease in study duration and assume an adoption rate of 50 percent, the effect is a 17.6 percent decrease in study duration in Phases 1, 2, 3, and 4. Table 8 presents the costs savings estimates for this barrier mitigation strategy. + +**Table 8: Projected Impacts of Wider use of Mobile Technologies, such as Electronic Data Capture (EDC), on Clinical Trial Costs (in $ Millions and in Percentages), by Therapeutic Area and Phase \[a\]** + +| **Therapeutic Area** | **Phase 1** | **Phase 2** | **Phase 3** | **Phase 4** | +| --- | --- | --- | --- | --- | +| **$** | **%** | **$** | **%** | **$** | **%** | **$** | **%** | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Anti-Infective | \-$0.1746 | \-4.11% | \-$1.4930 | \-10.50% | \-$1.9246 | \-8.44% | \-$0.7727 | \-7.03% | +| Cardiovascular | \-$0.0796 | \-3.68% | \-$0.5178 | \-7.39% | \-$1.5784 | \-6.26% | \-$3.6692 | **\-13.22%** | +| Central Nervous System | \-$0.2118 | \-5.40% | \-$0.7988 | \-5.76% | \-$1.0103 | \-5.25% | \-$1.4165 | \-10.03% | +| Dermatology | \-$0.0569 | \-3.18% | \-$0.8318 | \-9.37% | \-$0.9007 | \-7.86% | \-$2.5943 | \-10.28% | +| Endocrine | \-$0.0691 | \-4.80% | \-$1.0476 | \-8.68% | \-$1.4410 | \-8.50% | \-$2.8179 | \-10.56% | +| Gastrointestinal | \-$0.1675 | \-7.00% | \-$1.3374 | \-8.45% | \-$0.6319 | \-4.36% | \-$2.4446 | \-11.22% | +| Genitourinary System | \-$0.1567 | \-5.08% | \-$1.3233 | \-9.06% | \-$1.6031 | \-9.14% | \-$0.7321 | \-10.78% | +| Hematology | \-$0.1280 | **\-7.50%** | **\-$2.3964** | **\-12.25%** | \-$1.8621 | **\-12.40%** | \-$3.5580 | \-13.18% | +| Immunomodulation | **\-$0.3909** | \-5.96% | \-$1.1296 | \-7.07% | \-$1.0908 | \-9.18% | \-$1.8096 | \-9.14% | +| Oncology | \-$0.2356 | \-5.25% | \-$0.8139 | \-7.25% | \-$2.0728 | \-9.38% | \-$3.0733 | \-7.91% | +| Ophthalmology | \-$0.1831 | \-3.43% | \-$0.9419 | \-6.82% | \-$2.0612 | \-6.70% | \-$1.7859 | \-10.18% | +| Pain and Anesthesia | \-$0.0525 | \-3.69% | \-$1.7881 | \-10.54% | **\-$6.0579** | \-11.44% | \-$3.7714 | \-11.74% | +| Respiratory System | \-$0.3852 | \-7.44% | \-$1.0422 | \-8.56% | \-$2.2854 | \-9.90% | **\-$6.6866** | \-9.17% | + +\[a\] The numbers in bold represent the highest savings in dollars and in percentages within that phase. Note that sometimes the highest dollar reduction does not necessarily correspond to the highest reduction in percentage terms. + +--- + +Main cost savings for this strategy occur in Phase 2, 3 and 4 studies with savings ranging from $0.5 million (cardiovascular) to $6.7 million (respiratory system). In Phase 1, the highest savings are $0.4 million (immunomodulation and respiratory system). The savings range from $0.5 million (cardiovascular) to $2.4 million (hematology) studies in Phase 2. In Phase 3, the highest savings that can be expected from the adoption of mobile technologies is $6.1 million (pain and anesthesia). Finally, the range of savings in Phase 4 studies is $0.7 million (genitourinary system) and $6.7 million (respiratory system). + + diff --git a/reference/cost-barriers/56-wider-use-of-lower-cost-facilities-andor-at-home-testing.md b/reference/cost-barriers/56-wider-use-of-lower-cost-facilities-andor-at-home-testing.md new file mode 100644 index 00000000..8830deda --- /dev/null +++ b/reference/cost-barriers/56-wider-use-of-lower-cost-facilities-andor-at-home-testing.md @@ -0,0 +1,35 @@ +### 5.6 Wider Use of Lower-cost Facilities AND/OR At-home Testing + +This approach was suggested in the course of our interviews with drug sponsors. If FDA can successfully encourage sponsors to utilize lower-cost facilities (such as local clinics and pharmacies) for data collection purposes whenever possible, the need for costly infrastructure and overhead can be reduced. Furthermore, sponsors could conduct follow-up visits beyond the initial trial period at local centers to minimize travel and time costs for participants and thereby possibly improve retention. A related option is conducting web-based trials, in which patients can participate from home using computers and smartphones rather than traveling to trial sites. Pfizer has attempted this “clinical trial in a box” idea, recruiting patients through Internet advertisements and providing a website that explains the trial and allows online enrollment. All necessary materials (including the blinded study drug and a mobile app for electronic patient-reported outcomes, or PROs) are sent to participants at home (Silverman, 2011). + +If it is more convenient for patients to fulfill trial requirements, they may be more willing to participate in studies. Therefore, one important effect of this approach is shortened enrollment timelines. Clinical Resource Network (CRN) is a provider of services that allow investigative sites to have tests conducted at a subject’s home rather than requiring the patient to be on-site. CRN reports that these services can reduce projected enrollment times from approximately 12 months to 3 months, a reduction of 67 percent (Shapiro, 2008). + +We searched for additional literature on what portion of trial time is attributed to enrollment in order to reduce it by 67 percent for Phases 1, 2, and 3 to model this approach. One study reported that at least three years are spent on patient recruitment (Marks & Power, 2002). We assume that this refers to Phases 1 through 3 and divide it equally such that one year is attributed to recruitment in each phase. This is consistent with the 12 months reported by CRN. This year spent on recruitment, reduced by twothirds, becomes one-third of a year. The reduction, 0.67 years, is divided by the typical length of each phase to get a percent reduction that is specific to each phase and therapeutic area. + +It is likely that phase time length is not the only parameter in our model that would be affected by this strategy. Depending on the specific characteristics of the approach chosen, there may also be impacts on: data collection, management and analysis costs, patient recruitment costs, patient retention costs, RN/CRA costs, physician costs, clinical procedure total, number of planned patients per site, site recruitment and retention costs, site management and monitoring time periods and costs, project management costs and time, administrative staff costs, and number of sites per study. If the user wishes to test more clearly defined approaches of this type, he/she can enter custom values for these fields to reflect the relevant changes. + +Table 9 presents the cost savings attributable to this mitigation strategy, which are fairly sizeable especially in Phase 2 and Phase 3. The savings that could potentially be realized range from $0.1 million (dermatology and endocrine) to $0.8 million (immunomodulation and respiratory system) in Phase 1. In Phase 2, the potential savings range from $0.8 million (cardiovascular) to $4.3 million (hematology). For hematology, these savings are substantial representing 22 percent of study costs. Similarly, savings range from $0.9 million (gastrointestinal) to as high as $9.1 million (pain and anesthesia) in Phase 3 studies. + +**Table 9: Projected Impacts of Wider Use of Lower-Cost Facilities and/or At-home Testing on Clinical Trial Costs (in $ Millions and in Percentages), by Therapeutic Area and Phase \[a\]** + +| **Therapeutic Area** | **Phase 1** | **Phase 2** | **Phase 3** | **Phase 4** | +| --- | --- | --- | --- | --- | +| **$** | **%** | **$** | **%** | **$** | **%** | **$** | **%** | +| --- | --- | --- | --- | --- | --- | --- | --- | +| Anti-Infective | \-$0.3693 | \-8.70% | \-$2.6539 | \-18.67% | \-$2.2712 | \-9.96% | $0.0000 | 0.00% | +| Cardiovascular | \-$0.1683 | \-7.78% | \-$0.8485 | \-12.10% | \-$2.3641 | \-9.37% | +| Central Nervous System | \-$0.4479 | \-11.42% | \-$1.4198 | \-10.23% | \-$1.5132 | \-7.86% | +| Dermatology | \-$0.1204 | \-6.73% | \-$1.4784 | \-16.66% | \-$1.3490 | \-11.77% | +| Endocrine | \-$0.1461 | \-10.15% | \-$1.8621 | \-15.43% | \-$2.0792 | \-12.27% | +| Gastrointestinal | \-$0.3542 | \-14.81% | \-$2.3773 | \-15.01% | \-$0.9465 | \-6.54% | +| Genitourinary System | \-$0.3315 | \-10.74% | \-$2.3521 | \-16.10% | \-$2.1357 | \-12.18% | +| Hematology | \-$0.2707 | \-15.85% | \-$4.2597 | \-21.77% | \-$2.0182 | \-13.44% | +| Immunomodulation | \-$0.8267 | \-12.60% | \-$2.0079 | \-12.57% | \-$1.6338 | \-13.75% | +| Oncology | \-$0.4982 | \-11.10% | \-$1.1189 | \-9.97% | \-$2.7630 | \-12.50% | +| Ophthalmology | \-$0.3872 | \-7.26% | \-$1.6743 | \-12.13% | \-$3.0872 | \-10.04% | +| Pain and Anesthesia | \-$0.1110 | \-7.80% | \-$3.1783 | \-18.73% | \-$9.0733 | \-17.14% | +| Respiratory System | \-$0.8146 | \-15.73% | \-$1.8525 | \-15.22% | \-$3.4229 | \-14.82% | + +\[a\] The numbers in bold represent the highest savings in dollars and in percentages within that phase. Note that sometimes the highest dollar reduction does not necessarily correspond to the highest reduction in percentage terms. + + diff --git a/reference/cost-barriers/57-priority-reviewpriority-review-vouchers.md b/reference/cost-barriers/57-priority-reviewpriority-review-vouchers.md new file mode 100644 index 00000000..048bedd3 --- /dev/null +++ b/reference/cost-barriers/57-priority-reviewpriority-review-vouchers.md @@ -0,0 +1,9 @@ +### 5.7 Priority REVIEW/PRIORITY Review Vouchers + +The basis for this policy option comes from a paper by Ridley, Grabowski, & Moe published in _Health Affairs_ in 2006. The authors propose that developers of treatments for neglected diseases receive a “priority review voucher” to incentivize production of these therapies. If a treatment meets certain criteria, the developers would be awarded a transferable voucher that entitles the holder to priority FDA review for another drug (or perhaps multiple drugs) and other possible incentives (Ridley, Grabowski, & Moe, 2006). + +Ridley, Grabowski, & Moe (2006) estimate that a priority review voucher “would be worth more than $300 million for a potential blockbuster drug, because it would shorten the time FDA takes to analyze data from an average of eighteen months to about six months.” Capturing this impact in the framework of our clinical trial cost model is quite straightforward, assuming the trial being modeled is the one for which the priority review voucher is being used; we simply set the review phase length equal to six months (0.5 years). Aside from reducing the time costs of the trial, this change also increases the NPV of the revenue side of the model by reducing the period of time over which revenues are discounted. + +This barrier mitigation strategy reduces the time to market thereby increasing the expected NPV (eNPV) of the sponsor but does not reduce the cash outlays for doing clinical research according to our model. + + diff --git a/reference/cost-barriers/58-improvements-in-fda-review-process-efficiency-and-more-frequent-and-timely-interactions-with-fda.md b/reference/cost-barriers/58-improvements-in-fda-review-process-efficiency-and-more-frequent-and-timely-interactions-with-fda.md new file mode 100644 index 00000000..3cb71b71 --- /dev/null +++ b/reference/cost-barriers/58-improvements-in-fda-review-process-efficiency-and-more-frequent-and-timely-interactions-with-fda.md @@ -0,0 +1,9 @@ +### 5.8 Improvements in FDA Review Process Efficiency and More Frequent and Timely Interactions with FDA + +This approach is somewhat difficult to quantify due to the highly variable results it is likely to have across review divisions and trials. For example, as one recent paper points out, there are considerable differences among review divisions in the length the NDA review and approval process, and to some extent, these differences are driven by differences in workload and staff resources across the various divisions (Milne & Kaitin, 2012). The same paper shows the impact of holding an advisory committee (AC) meeting on new molecular entity (NME) approval times to be ambiguous; in some review divisions, meetings are associated with shorter average review times, whereas in other divisions, they are actually associated with prolonged review times relative to cases where no meeting was held. + +Given the differences in resources and requirements across review divisions, we attempted to gauge what types of improvements in efficiency were viewed as being achievable by FDA itself. According to the PDUFA performance goals for fiscal year (FY) 2013-2017, one of FDA’s objectives is to “\[r\]eview and act on 90 percent of standard NME NDA and original Biologic License Application (BLA) submissions within 10 months of the 60 day filing date”(U.S. Food and Drug Administration, 2012c). We therefore assumed that improvements in efficiency could result in a reduction of the length of the review phase to 10 months across the board. It is also possible that greater efficiency and improved communication with industry could result in increases in success probabilities in the review phase; however, we did not have enough information to model this potential impact. If this approach and the previous one (priority review/priority review vouchers) are selected, the model will use the shorter of the two time periods for the review phase lengths (six months). + +Similar to the previous barrier mitigation strategy, this strategy reduces the time to market thereby increasing the eNPV of the sponsor but does not reduce the cash outlays for doing clinical research according to our model. + + diff --git a/reference/cost-barriers/59-conclusions.md b/reference/cost-barriers/59-conclusions.md new file mode 100644 index 00000000..0d1d8d21 --- /dev/null +++ b/reference/cost-barriers/59-conclusions.md @@ -0,0 +1,364 @@ +### 5.9 Conclusions + +In considering the conclusions that may be drawn based on our evaluation of barrier mitigation strategies, it is important to recognize that establishing clear links between barriers and specific model parameters and their ex-post magnitudes requires extensive research, and our analysis was constrained by the limited availability of this type of information in the literature. Nevertheless, our results can help to inform the discussion surrounding possible barrier mitigation strategies and their relative impacts on drug development costs and returns. Our results are summarized in Table 10 below. + +According to our model, priority review vouchers and improvements in FDA review efficiency can help to shorten timelines and increase expected NPV to the drug sponsor. However, these strategies do not reduce the cash outlay needed for the clinical studies. Therefore, holding everything constant, these options may be less appealing as strategies to stimulate drug development than alternatives which substantially lower costs, especially early on in the clinical research process (i.e., in earlier phases). + +Use of lower-cost facilities/in-home testing and wider use of mobile technologies appear to be most effective in reducing costs across therapeutic areas and trial phases. Use of lower-cost facilities and/or in-home testing can reduce per-trial costs by up to $0.8 million (16 percent) in Phase 1, $4.3 million (22 percent) in Phase 2, and $9.1 million (17 percent) in Phase 3, depending on therapeutic area. Wider use of mobile technologies can result in very similar maximum savings; $0.4 million (8 percent) in Phase 1, $2.4 million (12 percent) in Phase 2, $6.1 million (12 percent) in Phase 3, and $6.7 million (13 percent) in Phase 4. On the other hand, relaxing trial enrollment restrictions and reducing SDV efforts have smaller impacts on costs, resulting in maximum savings of less than $0.1 million to $0.2 million per trial, representing around one percent of study costs. + +**Table 10: Summary of Barrier Mitigation Strategy Impacts on Clinical Trial Costs** + +| **Barrier Mitigated** | **Impacts on Costs per Trial (in $ Millions and in Percentages)** | +| --- | --- | +| **Phase 1** | **Phase 2** | **Phase 3** | **Phase 4** | +| --- | --- | --- | --- | +| **$** | **%** | **$** | **%** | **$** | **%** | **$** | **%** | +| --- | --- | --- | --- | --- | --- | --- | --- | +| **Min** | **Max** | **Min** | **Max** | **Min** | **Max** | **Min** | **Max** | **Min** | **Max** | **Min** | **Max** | **Min** | **Max** | **Min** | **Max** | +| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | +| Use of electronic health records (EHR) | \-$0.02 | \-$0.46 | \-1.4% | \-8.6% | \-$0.39 | \-$1.14 | \-3.1% | \-8.2% | \-$0.46 | \-$2.53 | \-3.1% | \-8.8% | \-$0.27 | \-$4.68 | \-2.6% | \-7.4% | +| Relaxing trial enrollment restrictions | $0.00 | \-$0.03 | \-0.1% | \-0.9% | \-$0.03 | \-$0.20 | \-0.2% | \-1.2% | \-$0.04 | \-$0.41 | \-0.1% | \-1.4% | \-$0.05 | \-$0.55 | \-0.2% | \-1.1% | +| Simplified clinical trial protocols and reduced amendments | \-$0.03 | \-$0.63 | \-2.0% | \-11.8% | \-$0.27 | \-$1.09 | \-1.4% | \-7.9% | \-$0.23 | \-$2.39 | \-1.6% | \-7.8% | \-$0.16 | \-$4.18 | \-1.5% | \-5.8% | +| Reduced source data verification (SDV) | $0.00 | $0.00 | 0.0% | 0.0% | \-$0.06 | \-$0.12 | \-0.4% | \-1.2% | \-$0.07 | \-$0.20 | \-0.2% | \-1.0% | $0.00 | $0.00 | $0.00 | $0.00 | +| Wider use of mobile technologies, i.e., electronic data capture | \-$0.05 | \-$0.39 | \-3.2% | \-7.5% | \-$0.52 | \-$2.40 | \-5.8% | \-12.3% | \-$0.63 | \-$6.06 | \-4.4% | \-12.4% | \-$0.73 | \-$6.69 | \-7.0% | \-13.2% | +| Use of lower-cost facilities or at-home testing | \-$0.11 | \-$0.83 | \-6.7% | \-15.9% | \-$0.85 | \-$4.26 | \-10.0% | \-21.8% | \-$0.95 | \-$9.07 | \-6.5% | \-17.1% | $0.00 | $0.00 | $0.00 | $0.00 | +| Priority Review/Priority Review voucher \[a\] | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | +| Improvements in FDA review process efficiency \[a\] | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | $0.0 | + +Notes: “Minimum” and “maximum” define the range of _savings_ across all therapeutic areas. Cost savings are shown as negative values. \[a\] Mitigation of the barrier reduces FDA review phase duration thereby reducing time to market for the drug. This improved the revenue stream for the sponsor but does not have direct cost impacts in the model. + +## 6 References + +Adams, C., & Brantner, V. (2006). Estimating The Cost Of New Drug Development: Is It Really $802 Million? _Health Affairs, 25_(2). + +Adams, C., & Brantner, V. (2010). Spending on new drug development. _Health Economics_, 19(2), 130- 141. + +Angell, M. (2004). Introduction: Drugs are Different. In M. Angell, _The Truth About the Drug Companies_ (pp. xv-xvi). New York: Random House. + +Ashar, B. H., Miller, R. G., Getz, K. J., & Powe, N. R. (2004). Prevalence and Determinants of Physician Participation in Conducting Pharmaceutical-sponsored Clinical Trials and Lectures. _Journal of General Internal Medicine_, 1140–1145. + +Bailey, W., Cruickshank, C., & Sharma, N. (n.d.). Make Your Move: _Taking Clinical Trials to the Best Location._ Retrieved March 22, 2012, from A.T. Kearney: [http://www.atkearney.com/index.php/Publications/make-your-move.html(link is external)](http://www.atkearney.com/index.php/Publications/make-your-move.html) + +Bonham, A., Califf, R., Gallin, E., & Lauer, M. (2011). Developing a Robust Clinical Trials Workforce. _IOM Forum on Drug Discovery, Development, and Translation._ Washington, D.C.: Institute of Medicine of the National Academies. + +Brooks, C. (2012). _An Independent Perspective on Clinical Trial Timelines: Trending Against Expectations._ New York: Citeline. + +Buchholzer, F. J. (2011). Implementing the Voluntary Harmonization Procedure for Accelerated Clinical Trial Approval. _International Pharmaceutical Industry, 3_(2), 68-69. + +Califf, R. M., & Muhlbaier, L. H. (2003). Health Insurance Portability and Accountability Act (HIPAA): Must There Be a Trade-Off Between Privacy and Quality of Health Care, or Can We Advance Both? _Circulation_, 108, 915-918. + +Califf, R. M., Filerman, G., Murray, R. K., & Rosenblatt, M. (2011). The Clinical Trials Enterprise in the United States: A Call for Disruptive Innovation. _IOM Forum on Drug Discovery, Development, and Translation._ Washington, D.C.: Institute of Medicine of the National Academies. + +Clinical Trials Facilitation Groups (CTFG). (2010, March). _Heads of Medicines Agencies (HMA)._ Retrieved May 15, 2012, from Guidance document for a Voluntary Harmonisation Procedure (VHP) for the assessment of multinational Clinical Trial Applications: Version 2: [http://www.hma.eu/fileadmin/dateien/Human\_Medicines/01-(link is external)](http://www.hma.eu/fileadmin/dateien/Human_Medicines/01-) About\_HMA/Working\_Groups/CTFG/2010\_03\_VHP\_Guidance\_v2.pdf + +Clinical Trials Transformation Initiative (CTTI). (2011). _Clinical Trials Transformation Initiative (CTTI) - Identifying Practices that through Broad Adoption will Increase the Quality and Efficiency of Clinical Trials._ Retrieved May 25, 2012, from [https://www.ctti-clinicaltrials.org/(link is external)](https://www.ctti-clinicaltrials.org/) + +Collier, R. (2009, February 3). Rapidly rising clinical trial costs worry researchers. _Canadian Medical Association Journal_, 180(3), 277-278. + +Cutting Edge Information. (2011, December 5). Outsourcing of Phase II Drug Development Now _Accounts for 63% of R&D Budgets_. Retrieved April 2012, 6, from Cutting Edge Information: [http://www.cuttingedgeinfo.com/2011/outsourcing-phase-ii-drug-development/(link is external)](http://www.cuttingedgeinfo.com/2011/outsourcing-phase-ii-drug-development/) + +Damodaran, A. (2007). _Strategic Risk Taking: A Framework for Risk Management_. Upper Saddle River, NJ: Pearson Prentice Hall. + +Davis, J. R., Nolan, V. P., Woodcock, J., & Estabrook, R. W. (1999). _Assuring Data Quality and Validity in Clinical Trials for Regulatory Decision Making: Workshop Report._ Roundtable on Research and Development of Drugs, Biologics, and Medical Devices, Institute of Medicine. + +Deloitte. (2009). _Secondary Uses of Electronic Health Record (EHR) Data in Life Sciences._ Deloitte Development LLC. + +Dilts, D. M., & Sandler, A. B. (2006). Invisible Barriers to Clinical Trials: The Impact of Structural, Infrastructural, and Procedural Barriers to Opening Oncology Clinical Trials. _Journal of Clinical Oncology,_ 24(28), 4545-4552. + +DiMasi, J. A., Feldman, L., Seckler, A., & Wilson, A. (2010, March). Trends in Risks Associated With New Drug Development: Success Rates for Investigational Drugs. _Clinical Pharmacology and Therapeutics, 87_(3). + +DiMasi, J. A., Grabowski, H. G., & Vernon, J. (2004). R&D Costs and Returns by Therapeutic Category. _Drug Information Journal, 38,_ 211-223. + +DiMasi, J. A., Hansen, R. W., & Grabowski, H. G. (2005). Reply: Extraordinary claims require extraordinary evidence. _Journal of Health Economics_, 1034–1044. + +DiMasi, J., Hansen, R., & Grabowski, H. (2003). The price of innovation: new estimates of drug development costs. _Journal of Health Economics,_ 22(2), 151-185. + +Downing, N. S., Aminawung, J. A., Shah, N. D., Braunstein, J. B., Krumholz, H. M., & Ross, J. S. (2012, May 16). Regulatory Review of Novel Therapeutics — Comparison of Three Regulatory Agencies. _The New England Journal of Medicine._ + +Eisenberg, P., Kaufmann, P., Sigal, E., & Woodcock, J. (2011). Developing a Clinical Trials Infrastructure. _IOM Forum on Drug Discovery, Development, and Translation._ Washington, D.C.: Institute of Medicine of the National Academies. + +Eisenstein, E. L., Collins, R., Cracknell, B. S., Podesta, O., Reid, E. D., Sandercock, P., . . . Diaz, R. (2008). Sensible approaches for reducing clinical trial costs. _Clinical Trials,_ 75-84. + +Eisenstein, E. L., Lemons II, P. W., Tardiff, B. E., Schulman, K. A., Jolly, M. K., & Califf, R. M. (2004). Reducing the costs of phase III cardiovascular clinical trials. _American Heart Journal, 149_(3), 482-488. + +Embi, P. J., Jain, A., Clark, J., Bizjack, S., Hornung, R., & Harris, C. M. (2005). Effect of a Clinical Trial Alert System on Physician Participation in Trial Recruitment. _Archives of Internal Medicine,_ 2272-2277. + +English, R., Lebovitz, Y., & Giffin, R. (2010). _Transforming Clinical Research in the United States: Challenges and Opportunities: Workshop Summary._ Institute of Medicine of the National Academies, Forum on Drug Discovery, Development, and Translation Board on Health Sciences Policy. Washington, D.C.: The National Academies Press. + +Getz, K. A. (2006, December 1). _Hitching a Ride with the Speed Demons of Drug Development._ Retrieved December 15, 2011, from Applied Clinical Trials Online: [http://www.actmagazine.com/appliedclinicaltrials/article/articleDetail.j...(link is external)](http://www.actmagazine.com/appliedclinicaltrials/article/articleDetail.jsp?id=392454) + +Getz, K. A. (2007, September 1). _Global Clinical Trials Activity in the Details_. Retrieved March 21, 2012, from Applied Clinical Trials Online: [http://www.appliedclinicaltrialsonline.com/appliedclinicaltrials/article...(link is external)](http://www.appliedclinicaltrialsonline.com/appliedclinicaltrials/article/articleDetail.jsp?id=45324) 3 + +Getz, K. A. (2008, May 1). _The Heavy Burden of Protocol Design._ Retrieved July 23, 2012, from Applied Clinical Trials Online: [http://license.icopyright.net/user/viewFreeUse.act?fuid=MTY0NDY1NDE%3D(link is external)](http://license.icopyright.net/user/viewFreeUse.act?fuid=MTY0NDY1NDE%3D) + +Getz, K. A. (2010a, November 1). _Chasing Veteran U.S. Sites Out of the Enterprise_. Retrieved April 19, 2012, from Applied Clinical Trials Online: [http://license.icopyright.net/rights/offer.act?inprocess=t&sid=13&tag=3....(link is external)](http://license.icopyright.net/rights/offer.act?inprocess=t&sid=13&tag=3.7442%3Ficx_id%3D693) 552 + +Getz, K. A. (2010b, January 1). _With Clinical Data, Less is More._ Retrieved July 23, 2012, from Applied Clinical Trials Online: [http://license.icopyright.net/user/viewFreeUse.act?fuid=MTY0NDU0Njg%3D(link is external)](http://license.icopyright.net/user/viewFreeUse.act?fuid=MTY0NDU0Njg%3D) + +Getz, K. A. (2011a, March 1). _Low Hanging Fruit in the Fight Against Inefficiency._ Retrieved December 14, 2011, from Applied Clinical Trials Online: [http://license.icopyright.net/user/viewFreeUse.act?fuid=MTQ4OTUyMDE%3D(link is external)](http://license.icopyright.net/user/viewFreeUse.act?fuid=MTQ4OTUyMDE%3D) + +Getz, K. A. (2011b, May 1). _Protocol Amendments: A Costly Solution._ Retrieved December 15, 2011, from Applied Clinical Trials Online: [http://appliedclinicaltrialsonline.findpharma.com/appliedclinicaltrials/...(link is external)](http://appliedclinicaltrialsonline.findpharma.com/appliedclinicaltrials/article/articleDetail.jsp?id=) 719542&sk=9270beba3a37ef7e37f3fa5477eea1cf9%22 + +Getz, K. A., Wenger, J., Campo, R. A., Sequine, E. S., & Kaitin, K. I. (2008). Assessing the Impact of Protocol Design Changes on Clinical Trial Performance. _American Journal of Therapeutics_, 450- 457. + +Getz, K. A., Zuckerman, R., Cropp, A. B., Hindle, A. L., Krauss, R., & Kaitin, K. I. (2011). Measuring the Incidence, Causes, and Repercussions of Protocol Amendments. _Drug Information Journal,_ 265-275. + +Getz, K., & Campo, R. (2013). Drug Development Study Designs have Reached the Danger Zone. _Expert Review of Clinical Pharmacology Vol. 6 No. 6_, 589–591. + +GlaxoSmithKline. (2011, October). _Global Public Policy Issues: GlaxoSmithKline’s Position: Clinical Trials in the Developing World_. Retrieved May 9, 2012, from GlaxoSmithKline Government Affairs, Public Policy and Patient Advocacy: [http://www.gsk.com/policies/GSK-on-clinicaltrials-in-the-developing-worl...(link is external)](http://www.gsk.com/policies/GSK-on-clinicaltrials-in-the-developing-world.pdf) + +Glickman, S. W., McHutchison, J. G., Peterson, E. D., Cairns, C. B., Harrington, R. A., Califf, R. M., & Schulman, K. A. (2009). Ethical and Scientific Implications of the Globalization of Clinical Research. _New England Journal of Medicine, 360_(8), 816-823. + +Hammons, G. T., Hilman, B. J., Kahan, J. P., & Neu, C. R. (1985). _The Decision to Initiate Clinical Trials of Current Medical Practices._ RAND Report prepared for the DHHS National Center for Health Services Research and Health Care Technology Assessment. + +Harris, G. (2010, September 23). F.D.A. to Restrict Avandia, Citing Heart Risk. _The New York Times_. Hay, M., Rosenthal, J., Thomas, D., & Craighead, J. (2011, February 15). Presentation: Clinical Trial Success Rates Study (BIO CEO & Investor Conference). Biotechnology Industry Organization (BIO) / BioMedTracker. + +Horton, N. J., & Switzer, S. S. (2005). Statistical methods in the journal. _New England Journal of Medicine,_ 1977–1979. + +Institute of Medicine Forum on Drug Discovery, Development, and Translation. (Undated). _Template for Clinical Trial Agreements_. Retrieved March 16, 2012, from [http://www.iom.edu/~/media/Files/Activity%20Files/Research/DrugForum/Apr...(link is external)](http://www.iom.edu/~/media/Files/Activity%20Files/Research/DrugForum/April27-) 28/TemplateCTA%2042209.ashx + +International Committee of Medical Journal Editors. (2010, April). _Uniform Requirements for Manuscripts Submitted to Biomedical Journals: Writing and Editing for Biomedical Publication._ Retrieved March 22, 2012, from International Committee of Medical Journal Editors: [http://www.icmje.org/urm\_main.html(link is external)](http://www.icmje.org/urm_main.html) + +International Conference on Harmonisation of Technical Requirements for Registration of Pharmaceuticals for Human Use (ICH). (1996, April). _Guidance for Industry: E6 Good Clinical Practice: Consolidated Guidance._ Retrieved from U.S. Food and Drug Administration: [http://www.fda.gov/downloads/Drugs/Guidances/ucm073122.pdf](http://www.fda.gov/downloads/Drugs/Guidances/ucm073122.pdf) + +Jenkins, J. K. (2011, December 8). C_DER New Drug Review: 2011 Update - FDA/CMS Summit._ Retrieved January 2, 2013, from [http://www.fda.gov/downloads/AboutFDA/CentersOffices/OfficeofMedicalProd...](http://www.fda.gov/downloads/AboutFDA/CentersOffices/OfficeofMedicalProductsandTobacco/) CDER/UCM282984.pdf + +Jenkins, V., & Fallowfield, L. (2000). Reasons for accepting or declining to participate in randomized clinical trials for cancer therapy. _British Journal of Cancer,_ 82(11), 1783–1788. + +Kass, N. E., Chaisson, L., Taylor, H. A., & Lohse, J. (2011). Length and Complexity of US and International HIV Consent Forms from Federal HIV Network Trials. _Journal of General Internal Medicine,_ 26(11), 1324-1328. + +Korieth, K. (2011, February). The High Cost and Questionable Impact of 100% SDV. _The CenterWatch Monthly, 18_(2). + +Krafft, H., Bélorgey, C., & Szalay, G. (2012). Correspondence: Experience and further development with the Voluntary Harmonization Procedure for multinational clinical trials in the European Union. _Nature Reviews Drug Discovery._ + +Kramer, J. M., & Schulman, K. A. (2011). Transforming the Economics of Clinical Trials. IOM Forum on _Drug Discovery, Development, and Translation_. Washington, D.C.: Institute of Medicine of the National Academies. + +Kramer, J. M., Smith, P. B., & Califf, R. M. (2012). Impediments to Clinical Research in the United States. _Clinical Pharmacology & Therapeutics, 91_(3), 535–541. + +Light, D. W., & Warburton, R. N. (2005). Discussion: Extraordinary claims require extraordinary evidence. _Journal of Health Economics,_ 1030-1033. + +Lipsky, M. S., & Sharp, L. K. (2001). From Idea to Market: The Drug Approval Process. _The Journal of the American Board of Family Practice_, 362-367. + +Marks, L., & Power, E. (2002). Using technology to address recruitment issues in the clinical trial process. _Trends in Biotechnology,_ 105-109. + +Medidata Solutions. (2012, September 5). Press Release: _Medidata Solutions Selected to Support U.S. Government Research on Drug Development Costs._ Retrieved September 24, 2012, from Medidata Solutions Worldwide, News & Events: [http://www.mdsol.com/press/medidatasolutions-selected-to-support-us-gove...(link is external)](http://www.mdsol.com/press/medidatasolutions-selected-to-support-us-government-research-on-drug-development-costs) + +Medidata Solutions. (2012a). CRO Contractor Database (CROCAS®). + +Medidata Solutions. (2012b). Grants Manager Database (PICAS®) + +Mills, E. J., Seely, D., Rachlis, B., Griffith, L., Wu, P., Wilson, K., . . . Wright, J. R. (2006, February). Barriers to participation in clinical trials of cancer: a meta-analysis and systematic review of patient-reported factors. T_he Lancet Oncology, 7_(2), 141-148. + +Milne, C. (2012, March 2). _Defining Conflict of Interest._ Retrieved May 22, 2012, from Pharmaceutical Technology: [http://license.icopyright.net/user/viewFreeUse.act?fuid=MTYyMjcyMjE%3D(link is external)](http://license.icopyright.net/user/viewFreeUse.act?fuid=MTYyMjcyMjE%3D) + +Milne, C. P., & Kaitin, K. I. (2012). FDA Review Divisions: Performance Levels and the Impact on Drug Sponsors. _Clinical Pharmacology & Therapeutics,_ 91(3), 393-404. + +Morgan, S., Grootendorst, P., Lexchin, J., Cunningham, C., & Greyson, D. (2011). The cost of drug development: a systematic review. _Health Policy, 100_(1), 4-17. + +Morrison, B. W., Cochran, C. J., White, J. G., Harley, J., Kleppinger, C. F., Liu, A., . . . Neaton, J. D. (2011). Monitoring the quality of conduct of clinical trials: a survey of current practices. _Clinical Trials,_ 342–349. + +National Institutes of Health. (2011, August 23). _HHS Tightens Financial Conflict of Interest Rules for Researchers._ Retrieved March 5, 2013, from National Institutes of Health: [http://www.nih.gov/news/health/aug2011/od-23.htm](http://www.nih.gov/news/health/aug2011/od-23.htm) + +Neuer, A., Warnock, N., & Slezinger, E. (2010, April 1). _The Upfront Cost Hurdle of EDC_. Retrieved May 22, 2012, from Applied Clinical Trials Online: [http://license.icopyright.net/user/viewFreeUse.act?fuid=MTYyMjgyMzI%3D(link is external)](http://license.icopyright.net/user/viewFreeUse.act?fuid=MTYyMjgyMzI%3D) + +Pollack, A. (2012, March 29). Panel Recommends More Testing for Obesity Drugs. _The New York Times._ + +Rai, S. (2005, February 24). Drug Companies Cut Costs With Foreign Clinical Trials. _The New York Times._ + +Ridley, D. B., Grabowski, H. G., & Moe, J. L. (2006). Developing Drugs For Developing Countries. _Health Affairs, 25_(2), 313-324. + +RTI International. (2006, April). Criteria for Distinguishing Effectiveness From Efficacy Trials in Systematic Reviews. _Technical Review(12)_. Agency for Healthcare Research and Quality. Retrieved February 19, 2013, from [http://www.ncbi.nlm.nih.gov/books/NBK44029/pdf/TOC.pdf](http://www.ncbi.nlm.nih.gov/books/NBK44029/pdf/TOC.pdf) + +Schmidt, C. W. (2001). Monitoring research overseas. _Modern Drug Discovery, 4_(2), 25-26. + +Shapiro, M. (2008, September 1). _At Home Testing Offers Solution_. Retrieved August 20, 2012, from Modern Medicine: [http://license.icopyright.net/user/viewFreeUse.act?fuid=MTY1MTY4MTg%3D(link is external)](http://license.icopyright.net/user/viewFreeUse.act?fuid=MTY1MTY4MTg%3D) + +Shavers, V. L., Lynch, C. F., & Burmeister, L. F. (2000). Knowledge of the Tuskegee Study and Its Impact on the Willingness to Participate in Medical Research Studies. _Journal of the National Medical Association,_ 92, 563-572. + +Sherman, R. B., Woodcock, J., Norden, J., Grandinetti, C., & Temple, R. J. (2011, July 7). New FDA Regulation to Improve Safety Reporting in Clinical Trials. _The New England Journal of Medicine_, 3-5. + +Silverman, E. (2011, June 7). _Pf zer And A ‘Cl n cal Tr al In A Bo ’ For Home Use_. Retrieved May 31, 2012, from Pharmalot: [http://www.pharmalot.com/2011/06/pfizer-and-a-clinical-trial-in-a-boxfor...(link is external)](http://www.pharmalot.com/2011/06/pfizer-and-a-clinical-trial-in-a-boxfor-home-use/) + +Society for Clinical Data Management. (2005). _Good Clinical Data Management Practices, Version 4_. Society for Clinical Data Management, Inc. + +Tantsyura, V., Grimes, I., Mitchel, J., Fendt, K., Sirichenko, S., Waters, J., . . . Tardiff, B. (2010). Riskbased Source Data Verification Approaches: Pros and Cons. _Drug Information Journal, 44,_ 745– 756. + +Tufts CSDD. (2011). _September/October 2011 Tufts CSDD Impact Report Press Release._ Retrieved December 15, 2011, from Tufts Center for the Study of Drug Development: [http://csdd.tufts.edu/files/uploads/september-october\_impact\_report\_pres...(link is external)](http://csdd.tufts.edu/files/uploads/september-october_impact_report_press_release.pdf) + +Tufts CSDD. (2012). _November/December 2012 Tufts CSDD Impact Report Press Release_. Retrieved November 7, 2012, from Tufts Center for the Study of Drug Development: [http://csdd.tufts.edu/files/uploads/nov-dec\_2012\_ir\_summary.pdf(link is external)](http://csdd.tufts.edu/files/uploads/nov-dec_2012_ir_summary.pdf) + +U.S. Bureau of Labor Statistics. (2012). _Consumer Price Index (CPI) Inflation Calculator_. Retrieved April 30, 2012, from U.S. Bureau of Labor Statistics: [http://data.bls.gov/cgi-bin/cpicalc.pl](http://data.bls.gov/cgi-bin/cpicalc.pl) + +U.S. Department of Health & Human Services. (2012, February 17). News Release: _HHS Secretary Kathleen Sebelius announces major progress in doctors, hospital use of health information technology._ Retrieved November 15, 2012, from U.S. Department of Health & Human Services Newsroom: [http://www.hhs.gov/news/press/2012pres/02/20120217a.html](http://www.hhs.gov/news/press/2012pres/02/20120217a.html) + +U.S. Food and Drug Administration. (2006a, January). _Guidance for Industry, Investigators, and Reviewers: Exploratory IND Studies._ Retrieved March 11, 2013, from [http://www.fda.gov/downloads/Drugs/GuidanceComplianceRegulatoryInformati...](http://www.fda.gov/downloads/Drugs/GuidanceComplianceRegulatoryInformation/Guidances/uc) m078933.pdf + +U.S. Food and Drug Administration. (2006b, March). _Guidance for Industry: Using a Centralized IRB Review Process in Multicenter Clinical Trials._ Retrieved March 14, 2012, from [http://www.fda.gov/RegulatoryInformation/Guidances/ucm127004.htm](http://www.fda.gov/RegulatoryInformation/Guidances/ucm127004.htm) + +U.S. Food and Drug Administration. (2011a, February). _Guidance for Industry and FDA Staff: Best Practices for Conducting and Reporting Pharmacoepidemiologic Safety Studies Using Electronic Healthcare Data Sets._ Retrieved June 13, 2012, from [http://www.fda.gov/downloads/Drugs/GuidanceComplianceRegulatoryInformati...](http://www.fda.gov/downloads/Drugs/GuidanceComplianceRegulatoryInformation/Guidances/U) CM243537.pdf + +U.S. Food and Drug Administration. (2011b, May). _Guidance for Clinical Investigators, Industry, and FDA Staff Financial Disclosure by Clinical Investigators: Draft Guidance._ Retrieved March 5, 2013, from [http://www.fda.gov/downloads/regulatoryinformation/guidances/ucm256525.pdf](http://www.fda.gov/downloads/regulatoryinformation/guidances/ucm256525.pdf) + +U.S. Food and Drug Administration. (2011c, August). _Guidance for Industry Oversight of Clinical Investigations — A Risk-Based Approach to Monitoring._ Retrieved March 21, 2012, from [http://www.fda.gov/downloads/Drugs/.../Guidances/UCM269919.pdf](http://www.fda.gov/downloads/Drugs/.../Guidances/UCM269919.pdf) + +U.S. Food and Drug Administration. (2012). _FY 2011 Performance Report to the President and Congress for the Prescription Drug User Fee Act._ Retrieved June 11, 2012, from U.S. Food and Drug Administration: [http://www.fda.gov/downloads/AboutFDA/ReportsManualsForms/Reports/UserFe...](http://www.fda.gov/downloads/AboutFDA/ReportsManualsForms/Reports/UserFeeReports/Perfo) rmanceReports/PDUFA/UCM294101.pdf + +U.S. Food and Drug Administration. (2012, April 23). Public Hearing. _Modernizing the Regulation of Clinical Trials and Approaches to Good Clinical Practice._ Silver Spring, Maryland: U.S. Food and Drug Administration, Department of Health and Human Services. + +U.S. Food and Drug Administration. (2012a, March 25). _Modernizing the Regulation of Clinical Trials and Approaches to Good Clinical Practice Public Hearing._ Retrieved May 25, 2012, from U.S. Food and Drug Administration: [http://www.fda.gov/Drugs/NewsEvents/ucm284118.htm](http://www.fda.gov/Drugs/NewsEvents/ucm284118.htm) + +U.S. Food and Drug Administration. (2012b, July 24). Notice: Prescription Drug User Fee Rates for Fiscal Year 2013. + +U.S. Food and Drug Administration. (2012c). _PDUFA Reauthorization Performance Goals and Procedures Fiscal Years 2013 Through 2017._ Retrieved December 7, 2012, from U.S. Food and Drug Administration: [http://www.fda.gov/downloads/forindustry/userfees/prescriptiondruguserfe...](http://www.fda.gov/downloads/forindustry/userfees/prescriptiondruguserfee/ucm270412.pdf) + +U.S. Food and Drug Administration. (2013). _Impact Innovation Predictability Access: 2012 Novel New Drugs Summary._ Silver Spring, MD: Center for Drug Evaluation and Research, U.S. Food and Drug Administration, U.S. Department of Health and Human Services. + +Usher, R. W. (2010). PhRMA BioResearch Monitoring Committee Perspective on Acceptable Approaches for Clinical Trial Monitoring. _Drug Information Journal,_ 44, 477–483. + +Weisfeld, V., English, R. A., & Claiborne, A. B. (2011). Public Engagement and Clinical Trials: _New Models and Disruptive Technologies: Workshop Summary._ Institute of Medicine of the National Academies, Forum on Drug Discovery, Development, and Translation. Washington, D.C.: The National Academies Press. + +Welton, A. J., Vickers, M. R., Cooper, J. A., Meade, T. W., & Marteau, T. M. (1999). Is recruitment more difficult with a placebo arm in randomised controlled trials? A quasirandomised, interview based study. _British Medical Journal (BMJ), 318,_ 1114–1117. + +Windish, D. M., Huot, S. J., & Green, M. L. (2007). Medicine Residents’ Understanding of the Biostatistics and Results in the Medical Literature. _JAMA, 298_(9), 1010-1022. + +World Health Organization. (2006). _The World Health Report 2006 - Working Together for Health._ Retrieved March 22, 2012, from World Health Organization: [http://www.who.int/whr/2006/06\_chap4\_en.pdf(link is external)](http://www.who.int/whr/2006/06_chap4_en.pdf) + +## Appendix A: Draft Interview GUIDE14,15 + +**Company Name:** \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ + +**Company Sector:** Pharmaceutical / Biotechnology + +**Company Size:** Small / Large (based on revenue / number of employees) + +**QUESTIONS16** + +**1 DECISION-MAKING** + +Our first set of questions is related to the decision-making process that you use for determining (a) whether to undertake a clinical trial, and (b) how that trial will be designed and executed. We should point out that **we are only interested in the decision-making process for clinical trials evaluating safety and efficacy for new molecular entities (NMEs).** Clinical trials that you may undertake for marketing, reimbursement, and/or investor objectives are outside the scope of our study. + +1. Is there a minimum rate of return that you require before initiating clinical research for an NME? If so, what is it? +2. Is there a minimum revenue threshold below which you might choose to ignore even high-return drug development projects? If so, what is the threshold? +3. If interviewee has small company experience: How does this picture change for small companies? +4. Do you think it is important to reduce current source data verification costs? Does your firm employ risk-based or some other form of SDV at less than 100%? +5. What percentage of laboratory/radiological/physical exam data collected during the course of a clinical trial is never used for the purposes of supporting the New Drug Application (NDA) to FDA? Please elaborate on the reasons for collecting such data. +6. For what percentage of clinical trials that you discuss with FDA do they request a material change in your clinical trial protocol? What percentage of the changes requested by FDA is (1) reasonable, (2) uncertain of their value, (3) unreasonable or not useful? Can you describe some of the specific issues, if possible? _\[Note: Information will be redacted in order not to identify individual companies. If possible, probe about a recent clinical trial experience for more specifics.\]_ +7. Does your firm incur substantial costs trying to identify biomarkers during clinical trials? Does the search often prove successful? If so, how important are the clinical trial costs savings from having identified biomarkers? In which specific therapeutic areas are biomarkers relevant? Our final questions relate to the barriers that may delay, hinder, or prevent successful completion of clinical trials for NMEs. +8. From your perspective, what are the major barriers to undertaking clinical research in the U.S. for the purposes of demonstrating safety and efficacy to the FDA? How would you rank these in order of relative importance, top to bottom? \[If the respondent is unable to offer much, suggest factors such as difficulty of mounting clinical trials, uncertainty about the regulatory approval process, shortage of trained professional staff, etc.\] +9. Is your firm actively pursuing the use of newer electronic data capture technologies or other technological advances into clinical trial operation? How important or unimportant do you think such techniques will be in lowering clinical trial costs in the future? +10. Do you feel that, as a (small/large) firm, you face a different set of barriers compared to (larger/smaller) firms? Additionally, do firms in your therapeutic area face a different set of barriers compared to those in other therapeutic areas? If so, what are the differences? +11. In your experience, have you been asked to amend your clinical trial protocol by FDA? If yes, to what extent have the FDA-initiated protocol amendments troublesome or expensive to accommodate compared to self-initiated ones? Do FDA-initiated protocol amendments constitute a significant barrier to drug development compared to other barriers, such as increasing costs associated with patient recruitment, IRB approval delays, etc.? _\[Note: Probe about a recent clinical trial experience for more specifics.\]_ +12. Do you feel that there are clinical investigator shortages in the U.S.? Overseas? If so, how significant of a problem is this? Have you undertaken any measures to mitigate this problem for your company? If so, please describe. +13. Are there any recent developments in clinical research that are proving helpful in mitigating barriers to drug development? Please elaborate. +14. Are there actions that the federal government could take to mitigate drug development barriers (e.g., make changes to the clinical data submission requirements to FDA)? If so, what are those actions? +15. Which of these government actions you enumerated above would have the greatest impact/potential to promote more clinical research in the short term? In the long term? + +**3 OTHER QUESTIONS (TO ASK IF TIME PERMITS)** + +16. What is the typical rate you use for discounting future revenues (i.e., weighted average cost of capital - WACC)? +17. Can you describe/quantify (say on a scale of 1 to 10) how confident you are about your forecasts of future development costs and expected sales volume at the point when you decide to file an IND? \[Note: The answer is relevant to our discounting of future projections in some modeling we are attempting for the industry.\] +18. What types of tools/methods (e.g., real options valuation method) do you use for evaluating/ranking drug development projects? Please describe. +19. Thinking about your recent decisions regarding NMEs, have there been individual factors or uncertainties in planning for clinical trials that have led you to decide not to file an IND for reasonably good candidates? Can you outline the reasons for not proceeding with an IND in the case of one or two recent decisions? +20. Have you pursued regulatory approvals for any NMEs in the EU and not in the US specifically because of FDA clinical trial requirements? +21. To what extent and in what circumstances do you not seek FDA reviews of your clinical trial plans? If there is any uncertainty about FDA’s acceptance of your clinical trial data, are there reasons why you do not seek FDA review before a specific trial? \[Note: Probe about a recent clinical trial experience for more specifics.\] + +**4 CLINICAL TRIAL COSTS** + +Next, we would like to inquire about the sponsor costs of conducting clinical trials to evaluate the safety and efficacy for an NME. We recognize that these costs may vary significantly based on the therapeutic area and other factors. Thus, “guesstimates” of ranges of hours/dollars/percentages are sufficient. + +22. We are interested in costs incurred by the drug sponsor for managing clinical trials. Can you guesstimate how much you spend internally to manage a given clinical trial, for example, as a percentage of the fees paid to a clinical research organization? Can you describe what the major components of the sponsor costs entail (e.g., oversight activities, monitoring, etc.)? +23. What percent of the total cost for a given clinical trial is related to one-time (study-specific) costs? +24. Do you conduct clinical trials outside the U.S? If so, how many countries are typically involved? +25. _(If respondent nd cates “no” to 11, then s p to 12)._ If so, can you generalize about how the total cost of conducting clinical trials outside the U.S. (including all internal and external expenses) compare to that of U.S. based clinical trials for your company? +26. Which components of clinical trial costs are rising most quickly in recent years? Can you offer an assessment as to why clinical trial costs are rising across the board? + +--- + +14 Due to the Paperwork Reduction Act (PRA) requirements, ERG limited the number of interviews involving the same set of questions to fewer than 10. + +15 The interview will be conducted in a semi-structured fashion with additional questions raised depending on the information provided by the interviewee. Notes for the interviewer appear in italics. + +16 The questions will be tailored to the background of the interviewee and the type of company. + +## Appendix B: Medidata Data Element Descriptions + +| **Data Element** | **Data Element Description** | **Unit** | **Source** | +| --- | --- | --- | --- | +| **Administrative Staff Costs** | Non-clinical administrative staff cost associated with managing the study at the sites | Month | CROCAS® (Medidata Solutions, 2012a) | +| **All Other Costs** | Includes costs of development for the entity being tested, costs for sponsors to run the study (additional internal costs and ancillary administrative costs), and other costs not captured by the other fields. It is equal to 30% of the total costs (according to Medidata, the clinical trial cost fields they have provided to ERG capture 70% of total costs). | Study | Medidata Solutions calculation | +| **Central Lab Costs \[a\]** | Central laboratory cost, if central laboratory used | Patient | PICAS®  (Medidata Solutions, 2012b) | +| **Clinical Procedure Total** | Total cost of clinical procedures only for one patient | Patient | PICAS®  (Medidata Solutions, 2012b) | +| **Cost Per IRB Amendment** | Cost of a single IRB amendment | IRB amendment | PICAS®  (Medidata Solutions, 2012b) | +| **Cost Per IRB Approval** | Cost of a single IRB approval | IRB approval | PICAS® (Medidata Solutions, 2012b) | +| **Data Collection, Management and Analysis Costs** | Costs associated with collection, management, and analysis of data for one study/protocol, across all sites and patients | Study | CROCAS® (Medidata Solutions, 2012a) | +| **FDA Application Fee** | The Federal Food, Drug, and Cosmetic Act, as amended by the Prescription Drug User Fee Amendments of 2012, which was signed by the President on July 9, 2012 (PDUFA V), authorizes FDA to collect user fees for certain applications for approval of drug and biological products. This document establishes fee rates for fiscal year (FY) 2013 for application fees for an application requiring clinical data ($1,958,800), for establishment fees ($526,500), and for product fees ($98,380). These fees are effective on October 1, 2012, and will remain in effect through September 30, 2013. For applications submitted on or after October 1, 2012, the new fee schedule must be used. | Drug / product | U.S. Food and Drug Administration, 2012c. | +| **Number of IRB Amendments** | Average number of amendments for a given therapeutic area and phase, as derived from Getz, et al., 2011. In this study, amendments were defined as “any change to a protocol requiring internal approval followed by approval from the IRB, ethical review board (ERB), or regulatory authority. Only implemented amendments—that is, amendments approved both internally and by the ethics committee—were counted and analyzed in this study.” Per-phase amendment counts were calculated by multiplying the average number of amendments by phase (from Table 3 in Getz, et al., 2011) by a therapeutic area-specific factor (calculated using numbers in Table 4 in Getz, et al., 2011). | Study | Getz, et al., 2011; calculation. | +| **Number of IRB Approvals** | Average number of IRB approvals needed for a given study. The default scenario assumes this to be equal to the number of sites in a study | Study | Assumption based on data from Medidata Insights™ (Medidata Solutions) | +| **Number of Patients** | The number of _planned_ patients. This is the number of patients a site is expected and contracted to enroll. | Site | PICAS® (Medidata Solutions, 2012b) | +| **Number of Project Management Months** | The time period from contract signature to the delivery of the statistical report. | Project management month | CROCAS® (Medidata Solutions, 2012a) | +| **Number of SDV Fields** | Number of SDV fields per study | Study | CROCAS® (Medidata) | +| **Number of Site Management Months** | Number of months a site was managed; the time period from the first site initiation to the last site close-out | Site month | CROCAS® (Medidata Solutions, 2012a) | +| **Number of Site Monitoring Days** | The number of actual days spent at a given site (on-site) for monitoring purposes (not the total period over which monitoring was conducted) | Site monitoring day | CROCAS® (Medidata Solutions, 2012a) | +| **Number of Sites** | Number of clinical investigator sites used per study/protocol | Study | Medidata Insights (Medidata Solutions) | +| **Number of Trials in Phase** | The number of trials conducted in a given phase for the drug. Multiple trials within a phase might be required to test different dosages, for example. The default is one trial in each phase. Enter a whole number between 1 and 10 for Phases 1-3 and a whole number between 0 and 3 for Phase 4 (zero signifying that there is no Phase 4 trial). | Whole number | N/A | +| **Site Overhead Percent** | Site overhead charged on contracts by the site estimated at 25 percent of total per-study costs | Percent | PICAS® (Medidata Solutions, 2012b) | +| **Patient Recruitment Costs** | Advertising costs associated with recruitment of patients at the per-patient level | Patient | PICAS® (Medidata Solutions, 2012b) | +| **Patient Retention Costs** | Amount paid to the patient for study participation, which might include financial compensation, reimbursement for travel, meals, etc | Patient | PICAS® (Medidata Solutions, 2012b) | +| **Phase Time** | Total length of study phase, in years. For Phases 1, 2, and 3, this variable is equal to the maximum of the phase lengths from DiMasi, et al. (2003), the Number of Site Management Months from Medidata, and the Number of Project Management Months from Medidata. For Phase 4, this variable is equal to the higher of the Number of Site Management Months and the Number of Project Management Months. From DiMasi, et al. (2003): “The timeline is constructed from information on average phase lengths and the average gaps and overlaps between successive phases in a Tufts Center for the Study of Drug Development database of approved new drugs and in our cost survey.” The NDA/BLA review time includes the time from first submission of an NDA/BLA to regulatory marketing approval, and comes from DiMasi, Grabowski, & Vernon (2004). Trial phase times do not reflect differences between therapeutic areas; however, therapeutic areaspecific NDA/BLA review times were available and used for a select list of therapeutic areas. When the user specifies that there are multiple trials within a given phase, total phase time is defined as the average of the maximum phase time entered in any of the trials and the sum of all phase times entered in all of the trials. This is intended to account for the fact that trials may either be concurrent or sequential, depending on the circumstances. | Years | DiMasi, et al., 2003; DiMasi, Grabowski, & Vernon, 2004; CROCAS® (Medidata Solutions, 2012a) | +| **Physician Costs** | Physician salary cost for one patient (physician salaries divided by the number of patients at site) | Patient | PICAS® (Medidata Solutions, 2012b) | +| **Real Annual Discount Rate** | The rate at which clinical trial costs are discounted over the time period of the study/development process. Custom discount rates may be entered as decimals between 0 and 1 with leading zero (e.g., 0.15). | Percent | Drug sponsor interviews | +| **RN/CRA Costs** | Clinical site staff cost (staff salaries divided by the number of patients at site) | Patient | PICAS® (Medidata Solutions, 2012b) | +| **SDV Cost** | Data clean-up cost for one case report form (CRF) field | Data field | CROCAS® (Medidata Solutions, 2012a) | +| **Site Monitoring Costs** | On-site monitoring cost for a single day | Day | CROCAS® (Medidata Solutions, 2012a) | +| **Site Recruitment Costs** | Cost for CRO to evaluate and recruit one site (which may or may not involve a site visit) | Site | CROCAS® (Medidata Solutions, 2012a) | +| **Site Retention Costs** | Cost for CRO to manage one site for one month | Month | CROCAS® (Medidata Solutions, 2012a) | +| **Success Probability** | The percent chance that a trial will be successful in a given phase and progress to the next phase (or, in the case of the NDA/BLA review phase, the percent chance that the drug will be granted approval). The BioMedTracker success probabilities used represent ERG's best guess for most relevant therapeutic area; if figures were not available for a similar therapeutic area, general/overall percentages were used. Custom success probabilities may be entered as decimals between 0 and 1 with leading zero (e.g., 0.80). Only one success probability value may be specified for the entire set of trials within a given phase. | Percent per phase | Hay et al., 2011. | +| **Worldwide Sales Revenues (millions of 2008 dollars)** | Worldwide sales revenues (in millions of dollars) over the product life cycle for new drugs approved in the United States during the period from 1990 to 1994 (net present values, discounted at 11% to the launch year). The revenue figures have been inflated from 2000 dollars to 2008 dollars (midpoint between 2004 and 2012, the range covered by the itemized cost data) using the producer price index for commodities in the category “Drugs and pharmaceuticals” from the Bureau of Labor Statistics (BLS). | Drug / product (millions of 2008 dollars) | DiMasi, Grabowski, & Vernon, 2004; Consumer Price Index (CPI) Inflation Calculator. (2012). | + +\[a\] Phase 1 study sites tend to have in-house or local labs as opposed to central labs. + +## Appendix C: Features of Operational Model + +Upon launching the operational model in Microsoft Excel, the user is automatically taken to the first page of the user form, which prompts the user to indicate whether he intends to examine the impacts of mitigating barriers to clinical trials, or go directly to the examination of clinical trial costs (see Figure C - 1). If “Barrier Impacts” is selected, the user is taken to a screen where different types of barrier mitigation strategies may be selected (see Figure C - 2and Section 5 for further detail). If the user selects “Costs,” the user is then taken to a page that provides a set of instructions and prompts the user to specify the type of clinical trial he would like to model (see Figure C - 3). The clinical trial options built into the model based on data availability include: Therapeutic Area, Devices and Diagnostics, and Pharmacokinetics. If the user selects the “Therapeutic Area” option, a specific therapeutic area must then be chosen from among the following in a separate drop-down menu: Anti-Infective, Cardiovascular, Central Nervous System, Dermatology, Endocrine, Gastrointestinal, Genitourinary System, Hematology, Immunomodulation, Oncology, Ophthalmology, Pain and Anesthesia, and Respiratory System. Once these selections have been made, the user may click on a “Next” button to proceed to the next page of the user form. + +**Figure C - 1: Welcome Screen of the Clinical Trials Model** + +![Figure C - 1: Welcome Screen of the Clinical Trials Model](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%209.png) + +**Figure C - 2: Impact of Removal of Barriers Screen** + +![Figure C - 2: Impact of Removal of Barriers Screen](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%2010.png) + +**Figure C - 3: Selection of Type of Trial Screen for Examination of Costs** + +**![Figure C - 3: Selection of Type of Trial Screen for Examination of Costs](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%2011.png)** + +On the succeeding page of the user form (see Figure C - 4), the user then needs to enter some general information about the trial, including the discount rate to be used as well as the probability of success in Phases 1 through 3 and the NDA/BLA review phase. The user may choose to leave these fields blank or specify that the default values be used, in which case these fields are populated with the values from the interviews and literature, as described below. Also on this page are spaces for the user to select the number of trials within each phase. Due to the need to test different dosages or alter other aspects of a trial, multiple trials within a given phase are common or even required in many cases. Therefore, the user must specify how many trials they would like to have in each phase, with possibilities ranging from one to ten for Phases 1 through 3 and zero to three for Phase 4 (if there is no Phase 4, the user needs to enter zero for the number of Phase 4 trials). The ranges for the number of trials for each phase were decided upon based on discussions with the U.S. Department of Health and Human Services (HHS) and the U.S. Food and Drug Administration (FDA) (we asked FDA for an estimate of the number of trials used to support efficacy for NME NDAs and were provided with a range of roughly one to nine trials for Phases 2 and 3). These fields may not be left blank, as the responses will determine how many cost input forms the user will be asked to fill in and how many trial costs are factored into the total phase cost calculations for both the default and custom scenarios. + +**Figure C - 4: General Questions Screen** + +**![Figure C - 4: General Questions Screen](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%2012.png)** + +Once this general data are entered, the user may then proceed to the following pages, which request various parameter values for each trial and phase (see Figure C - 5). Within each phase, each trial has its own user input page, and the number of user input pages is equal to the number of trials specified by the user in the previous step. For example, if the user indicates that there would be two Phase 1 trials, the user would see two pages of data to enter for Phase 1. Each of these trial-specific pages asks for information on trial length, number of patients per site, number of sites, and itemized costs, allowing the user to customize values for each trial individually. As on the general tab, the user may choose to populate fields with the default values/averages or enter custom values. + +**Figure C - 5: Parameter Value Entry for Clinical Trial Study per Trial Phase Screen** + +**![Figure C - 5: Parameter Value Entry for Clinical Trial Study per Trial Phase Screen](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%2013.png)** + +For convenience and ease of use, we have added various user-friendly features to the model interface. For example, if the user is uncertain about the meaning of a particular parameter or wants to understand more fully what it includes, he can hover over the name of the parameter with the cursor to see a brief definition and any important instructions for how to enter a custom value for that parameter. For more information, users can refer to a “Parameter Definitions” page that contains more detailed definitions, as well as information on sources and units. Error-checking is another key feature designed to improve the functionality of the tool. If the user enters a number that is inappropriate for a given parameter (e.g., a negative number), an error message will appear alerting the user to change the custom value entered. Some of these rules are strict and will not permit the user to continue to the next page without entering a valid value. For example, the user cannot enter a trial success probability greater than 1 (100%) or a negative number of patients. Other rules simply provide warnings to the user that the value entered might warrant additional consideration. For example, using the variances from Medidata, we calculated reasonable ranges of possible values that fall within three standard deviations of the default mean. If the user enters a number beyond these ranges (e.g., 20,000 patients per site), a warning message appears. However, given the possibility that users may wish to test the effects of outlier or extreme values, the model permits them to disregard this warning and proceed. Figure C - 6 shows the results screen of the clinical trials model developed. + +**Figure C - 6: Results Screen** + +**![Figure C - 6: Results Screen](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%2014.png)** + +## Appendix D: Additional Data Cleaning Steps + +We performed the final cleaning and compilation of the various clinical trial data elements using the statistical software STATA. For some combinations of cost component, phase, and therapeutic area, Medidata did not have enough underlying trial data to provide means and variances while still maintaining confidentiality of client information. Because these missing values resulting from these data gaps would render the model’s total cost calculations incomplete, we worked closely with Medidata to extrapolate them as accurately as possible. For the outsourcing and clinical costs that were missing, Medidata multiplied overall U.S. means by phase and therapeutic-area specific factors to create tables of derived costs that could be used to fill in data for phase-therapeutic area combinations for which those measures were missing. Similarly, missing variances were filled in using the overall U.S. variances from the same pool of data used to derive the means. For the counts/non-cost data elements _(Number of Site Management Months; Number of Project Management Months, and Number of Site Monitoring Days)_, Medidata used phase-specific factors to create tables of derived values. However, due to data limitations, these could not be broken down further by therapeutic area. Thus, we used the derived means and variances for these fields to fill in missing values across all therapeutic areas. Missing values in the _Number of Planned Patients (per site) and Number of Sites (per study)_ fields were extrapolated using phase-specific averages across all other therapeutic areas. Finally, _Number of SDV Fields (per study)_ could not be derived by phase or therapeutic area; therefore, in all cases where this measure was blank, it was estimated with the overall U.S. number for all phases and all therapeutic areas. + +In addition to filling in missing values for the fields from Medidata, we also had to find data to populate other fields that were missing altogether. Medidata collects data on cost per IRB approvals and cost per IRB amendments which was provided to ERG; however, they do not collect data at this time on the number of IRB approvals or IRB amendments for each study. Therefore they did not have counts by which to multiply the IRB-related costs. To generate counts of IRB approvals, we assumed that one approval would be needed for each site in the study, and created a field called _Number of IRB Approvals (per study)_, which was set to equal the _Number of Sites (per study)_ field provided by Medidata. To obtain counts of IRB amendments, we turned to the literature on clinical trial costs and found counts of protocol amendments in a 2011 study by Kenneth Getz and other researchers at Tufts CSDD (described in Section 4).17 The study reported average numbers of amendments by therapeutic area, and separately by phase (across all therapeutic areas). Thus, we were able to use a similar method to that described above for extrapolating missing values to derive amendment counts by phase and therapeutic area; therapeutic areaspecific factors were calculated and then multiplied by the phase-specific amendment counts, allowing us to fully populate a new field called “ _umber of IRB Amendments (per study)._” For therapeutic areas for which there was no counterpart in Getz, et al. (2011), we used the counts for the “Other” category. + +An additional cleaning step was necessary to reconcile some minor discrepancies between the data obtained from the literature and the data received from Medidata. Specifically, the mean trial phase lengths from DiMasi, Hansen, & Grabowski (2003) were, for a few therapeutic area-phase combinations, slightly shorter than the number of site management months or the number of project management months (defined below) provided by Medidata. To resolve these discrepancies, we set the trial phase length equal to the maximum of these three variables: the mean phase lengths from DiMasi, Hansen, & Grabowski (2003), the number of site management months (from Medidata), and the number of project management months (from Medidata). + +--- + +17 For the purposes of this study amendments were defined as “any change to a protocol requiring internal approval followed by approval from the IRB, ethical review board (ERB), or regulatory authority. Only implemented amendments—that is, amendments approved both internally and by the ethics committee—were counted and analyzed in this study” (Getz, et al., 2011). diff --git a/reference/cost-barriers/executive-summary/e1-clinical-trial-decision-making-model.md b/reference/cost-barriers/executive-summary/e1-clinical-trial-decision-making-model.md new file mode 100644 index 00000000..af77753b --- /dev/null +++ b/reference/cost-barriers/executive-summary/e1-clinical-trial-decision-making-model.md @@ -0,0 +1,18 @@ +### E.1 Clinical Trial Decision-making Model + +Using data from a variety of sources, we model the decision-making process for a drug sponsor as a stylized decision tree that looks at the process for formulating a clinical trial from the point of view of an expected-revenue-maximizing sponsor in the face of uncertainty (or risk). The simplified clinical decision-making model incorporates the following considerations: + +- Therapeutic area, +- Potential market size/revenues for the drug, and +- Clinical stage (Phase 1, Phase 2, Phase 3, and Phase 4) costs that are dependent on a variety of factors, including but not limited to: + - Physician and nursing (RN) costs; + - Number of patients needed for the desired statistical precision; + - Number of Institutional Review Boards (IRBs) involved; + - Number of investigator sites; + - Cost of clinical data collection, management, and analysis; and + - Cost of clinical procedures. +- Success probabilities by clinical stage + +The decision tree adapted from Damodaran (2007) specifies the phases (1 through 4), the development revenue/cost at each phase, success/failure probability for each phase, and the marginal returns associated with each step. Since it takes time to go through the different phases of development, there is a time value effect that is built into the expected returns computation. In the model, we compute the expected net present value at the decision point by working backwards through the tree. + + diff --git a/reference/cost-barriers/executive-summary/e2-analysis-of-costs.md b/reference/cost-barriers/executive-summary/e2-analysis-of-costs.md new file mode 100644 index 00000000..2c379357 --- /dev/null +++ b/reference/cost-barriers/executive-summary/e2-analysis-of-costs.md @@ -0,0 +1,9 @@ +### E.2 Analysis of Costs + +The model uses detailed cost information made available by Medidata Solutions, a global provider of cloud-based solutions for clinical research in life sciences. The cost information is specific to the U.S. and presented by therapeutic area and clinical trial phase. Key findings with respect to costs include the following: + +- Overall, the therapeutic area with the highest average per-study costs across Phases 1, 2 and 3 is pain and anesthesia ($71.3 million) followed by ophthalmology ($49.9 million) and antiinfective ($41.3 million) trials. Conversely, trials in dermatology, endocrinology, and gastroenterology have the lowest overall costs across the same three phases. +- Average per-study costs across all therapeutic areas increase as clinical development proceeds from Phase 1 to Phases 2 and 3. Average Phase 4 study costs are equivalent to those of Phase 3 costs but are much more variable across different therapeutic areas than Phase 3 costs. +- Overall, the factors that contribute the most to costs across all trial phases include _Clinical Procedure Costs_ (15 to 22 percent), _Administrative Staff Costs_ (11 to 29 percent), _Site Monitoring Costs_ (nine to 14 percent), _Site Retention Costs_ (nine to 16 percent), and _Central Laboratory Costs_ (four to 12 percent). + + diff --git a/reference/cost-barriers/executive-summary/e3-barriers-to-clinical-trials.md b/reference/cost-barriers/executive-summary/e3-barriers-to-clinical-trials.md new file mode 100644 index 00000000..e7ba07a7 --- /dev/null +++ b/reference/cost-barriers/executive-summary/e3-barriers-to-clinical-trials.md @@ -0,0 +1,5 @@ +### E.3 Barriers to Clinical Trials + +The major obstacles to conducting clinical trials in the United States identified through this research include: high financial cost, the lengthy time frames, difficulties in recruitment and retention of participants, insufficiencies in the clinical research workforce, drug sponsor-imposed barriers; regulatory and administrative barriers, the disconnect between clinical research and medical care, and barriers related to the globalization of clinical research. Key findings associated with each of these obstacles are provided below. + +# diff --git a/reference/cost-barriers/executive-summary/e31-high-financial-cost.md b/reference/cost-barriers/executive-summary/e31-high-financial-cost.md new file mode 100644 index 00000000..c5b1aa8e --- /dev/null +++ b/reference/cost-barriers/executive-summary/e31-high-financial-cost.md @@ -0,0 +1,6 @@ +### E.3.1 High Financial Cost + +- Studies estimate that it now costs somewhere between $161 million and $2 billion to bring a new drug to market. +- The aging of a larger segment of the population has resulted in a shift to chronic and degenerative disease research and an ensuing increase in development costs. Nonetheless, many companies pursue drugs for chronic diseases to have a large and steady revenue stream. Drugs for shorter-term conditions are less attractive to drug sponsors and their investors because it is less likely that the high costs of development will be recouped through revenues and earn a profit. + +# diff --git a/reference/cost-barriers/executive-summary/e32-lengthy-timelines.md b/reference/cost-barriers/executive-summary/e32-lengthy-timelines.md new file mode 100644 index 00000000..e20e9648 --- /dev/null +++ b/reference/cost-barriers/executive-summary/e32-lengthy-timelines.md @@ -0,0 +1,9 @@ +### E.3.2 Lengthy Timelines + +- According to one study, the average length of time from the start of clinical testing to marketing is 90.3 months (7.5 years). +- Longer timelines increase costs and decrease revenues. +- Longer studies are needed to see if any safety issues arise when drugs are taken long-term to manage chronic diseases. +- The “one-off” nature of trial organization protracts trial initiation timeframes. +- The clinical trial business model has not kept pace with potential for efficiency gains through technological advances or centralized coordination. + +# diff --git a/reference/cost-barriers/executive-summary/e33-difficulties-in-recruiting-and-retaining-participants.md b/reference/cost-barriers/executive-summary/e33-difficulties-in-recruiting-and-retaining-participants.md new file mode 100644 index 00000000..87eeff1f --- /dev/null +++ b/reference/cost-barriers/executive-summary/e33-difficulties-in-recruiting-and-retaining-participants.md @@ -0,0 +1,9 @@ +### E.3.3 Difficulties in Recruiting and Retaining Participants + +- Patient recruitment requires a substantial investment of time and money. +- Failure to recruit can cause costly delays or trial cancellation, wasting resources. +- There is competition for limited patient pools for certain conditions, such as rare cancers and multiple sclerosis. +- Clinical trial sites are often selected based on the location of investigators rather than patients. +- Knowledge, attitudes, and incentives of potential participants and their physicians hinder participation. + +# diff --git a/reference/cost-barriers/executive-summary/e34-increasing-competition-for-qualified-investigators-and-sites.md b/reference/cost-barriers/executive-summary/e34-increasing-competition-for-qualified-investigators-and-sites.md new file mode 100644 index 00000000..67f719da --- /dev/null +++ b/reference/cost-barriers/executive-summary/e34-increasing-competition-for-qualified-investigators-and-sites.md @@ -0,0 +1,9 @@ +### E.3.4 Increasing Competition for Qualified Investigators and Sites + +- According to some, there is a shortage of biostatisticians and informaticists across academic medicine, industry, and government; others say researchers exist but are difficult to find, often due to competition. There is more widespread agreement that there is a shortage of investigators who can enroll high-quality patients. There is also competition for qualified sites, especially in popular therapeutic areas. +- The rate of attrition among U.S. investigators is increasing. +- The clinical investigator career track is unattractive to researchers. +- It is difficult for new sites to attract business, as sponsors tend to use clinical research organizations (CROs) they know. +- For specialized areas such as anti-fungals, sponsors may have a very small number of qualified investigators to choose from. + +# diff --git a/reference/cost-barriers/executive-summary/e35-regulatory-and-administrative-barriers.md b/reference/cost-barriers/executive-summary/e35-regulatory-and-administrative-barriers.md new file mode 100644 index 00000000..b464f688 --- /dev/null +++ b/reference/cost-barriers/executive-summary/e35-regulatory-and-administrative-barriers.md @@ -0,0 +1,19 @@ +### E.3.5 Regulatory and Administrative Barriers + +- U.S. regulations pertaining to clinical research could benefit from revisions. They were written at a time when the clinical trials enterprise was smaller and before multicenter trials became common. +- Ethical / Institutional Review Board (IRB) Approval (21 CFR 56) + - There is often a lack of clarity regarding the roles and responsibilities of various oversight bodies and what is expected of investigators. + - If the IRB process results in a request for changes to a trial, investigators may lack the resources to fulfill the request. + - Regulations vary by geographic location. +- Informed Consent (21 CFR 50) – The process of obtaining informed consent from trial participants is lengthy. +- Patient Privacy: U.S. Health Insurance Portability and Accountability Act (HIPAA) (45 CFR Part 160 and Subparts A and E of Part 164) – HIPAA requires patient authorization to use their health information for research. There are severe penalties for violating HIPAA, so IRBs enforce compliance. One result of HIPAA and other privacy laws is that site investigators are reluctant to attempt to contact patients to follow up on major outcomes if the patient drops out. This in turn reduces statistical power. +- Regulations Governing Clinical Trial Conduct – Regulations governing the conduct of clinical trials were devised when trials were smaller and involved fewer sites. +- Regulations Governing Serious Adverse Events (SAEs) Reporting for Investigational New Drugs and Biologics (INDs) (21 CFR 312) – In the past, FDA and investigators in multicenter trials have been flooded with expedited reports of serious adverse events which lack sufficient context from the aggregate data to be interpretable. A new safety reporting regulation (effective March 2011) may remedy this problem, but it is too early to tell. +- Regulations for Multiple Jurisdictions – Local, regional, national, and international regulations/guidances are numerous and not always well harmonized. +- Inadequate Clarity/Consistency/Practicality in FDA Guidance + - Delays can be caused by differing interpretations of regulations by the various parties involved in multicenter trials. + - Guidance is lacking for newer therapeutic areas or classes. + - In disease areas where guidelines are nonexistent, old, or otherwise lacking, sponsors find it difficult to understand FDA expectations before beginning their studies. +- FDA is understaffed and underfunded and the available resources end up being overtaxed. + +# diff --git a/reference/cost-barriers/executive-summary/e36-drug-sponsor-imposed-barriers.md b/reference/cost-barriers/executive-summary/e36-drug-sponsor-imposed-barriers.md new file mode 100644 index 00000000..ea520707 --- /dev/null +++ b/reference/cost-barriers/executive-summary/e36-drug-sponsor-imposed-barriers.md @@ -0,0 +1,16 @@ +### E.3.6 Drug Sponsor-Imposed Barriers + +- Excessive risk-aversion leads to unnecessary steps being taken. +- In multicenter trials, uncertainty and inconsistent enrollment success across sites creates a need to over-enroll and plan trials “defensively.” +- Internal review processes for organizations conducting/sponsoring clinical trials can delay a trial’s start. +- In trying to create a pure scientific experiment (to maximize likelihood of drug approval), sponsors may restrict enrollment using extensive eligibility criteria that may exclude, for example, people on other medications or with comorbidities. These constraints on enrollment make it even more difficult to find a sufficient number of participants and protract the recruiting process. +- Industry sponsors generally do not involve site investigators in the protocol design process, so the required procedures may not be easily integrated into clinical practice at the sites. +- Clinical trial protocols are increasingly complex (with more assessments, exploratory endpoints, biomarkers, biopsies, etc.), increasing the administrative burden of trials. +- More complex Case Report Forms (CRFs) including many data points can significantly increase trial monitoring costs. +- Sponsors unnecessarily collect data that may not even be relevant to the specific study. +- The lack of standardized CRFs and trial procedures across study sites can result in improperly conducted procedures or inadequate data collection at some sites. +- According to a Tufts Center for the Study of Drug Development (CSDD) study, nearly 60 percent of all trial protocols require amendments, a third of which are avoidable. +- Industry-sponsored trials are generally monitored through site visits that take place at intervals defined by standard operating procedures or study-specific monitoring plans. It is common practice to conduct site visits frequently, and source data verification (SDV) is a time-consuming part of these visits. +- Legal advisors have traditionally encouraged sponsors to be conservative in their reporting of unexpected SAEs (at least prior to March 2011, when a new drug safety reporting regulation was implemented). + +# diff --git a/reference/cost-barriers/executive-summary/e37-disconnect-between-clinical-research-and-medical-care.md b/reference/cost-barriers/executive-summary/e37-disconnect-between-clinical-research-and-medical-care.md new file mode 100644 index 00000000..b16084bb --- /dev/null +++ b/reference/cost-barriers/executive-summary/e37-disconnect-between-clinical-research-and-medical-care.md @@ -0,0 +1,6 @@ +### E.3.7 Disconnect Between Clinical Research and Medical Care + +- Community physicians are largely uninvolved in the clinical research process. +- Many healthcare professionals do not receive training in research methods. + +# diff --git a/reference/cost-barriers/executive-summary/e38-barriers-at-academic-institutions.md b/reference/cost-barriers/executive-summary/e38-barriers-at-academic-institutions.md new file mode 100644 index 00000000..90f6d0a4 --- /dev/null +++ b/reference/cost-barriers/executive-summary/e38-barriers-at-academic-institutions.md @@ -0,0 +1,12 @@ +### E.3.8 Barriers at Academic Institutions + +- Sponsors might be compelled to select academic centers as sites due to the presence of key opinion leaders or specific patient populations. +- Ethical and Regulatory Requirements + - Academic institutions can take their responsibility to provide ethical and regulatory oversight to extremes and create excessive barriers to conducting clinical trials. + - One study found that the average number of steps necessary to open a clinical trial at academic centers was over 110, in contrast to fewer than 60 steps at non-academic centers. +- Low Priority of Clinical Research in Academic Institutions + - Many academic medical centers undervalue or fail to incentivize clinical research. + - Fundamental principles of clinical research are not included in academic medical curricula at the graduate or undergraduate level. + - Those studying to be physicians are not adequately trained to interpret clinical trial results, impairing their ability to use such results to inform their clinical care and practice evidence-based medicine. For example, in a survey of 367 residents only 37.4 percent knew how to interpret an adjusted odds ratio from a multivariate regression analysis. + +# diff --git a/reference/cost-barriers/executive-summary/e39-barriers-related-to-the-globalization-of-clinical-research.md b/reference/cost-barriers/executive-summary/e39-barriers-related-to-the-globalization-of-clinical-research.md new file mode 100644 index 00000000..5c04173b --- /dev/null +++ b/reference/cost-barriers/executive-summary/e39-barriers-related-to-the-globalization-of-clinical-research.md @@ -0,0 +1,8 @@ +### E.3.9 Barriers Related to the Globalization of Clinical Research + +- The clinical research footprint is shifting overseas. +- There are a number of factors, including cost savings and shorter timelines, driving this shift and making it cheaper and easier to conduct trials outside the U.S. +- Ethical and scientific concerns may arise when conducting studies in other countries. +- Conducting trials at multiple sites across different countries magnifies the barriers associated with multicenter trials. + + diff --git a/reference/cost-barriers/executive-summary/e4-analysis-of-barriers-to-clinical-trials.md b/reference/cost-barriers/executive-summary/e4-analysis-of-barriers-to-clinical-trials.md new file mode 100644 index 00000000..c8f11670 --- /dev/null +++ b/reference/cost-barriers/executive-summary/e4-analysis-of-barriers-to-clinical-trials.md @@ -0,0 +1,90 @@ +### E.4 Analysis of Barriers to Clinical Trials + +In selecting barriers to analyze in the context of the clinical trial decision-making model developed, we considered whether each proposed strategy could be alleviated by policies, whether the appropriate policies could be implemented or encouraged by FDA, and whether there was evidence in the literature that could be used to quantify the potential impacts of those policies on clinical trial costs. Based on these criteria, the following barrier mitigation strategies were selected for analysis in this study: + +- Use of electronic health records (EHR) +- Looser trial enrollment restrictions +- Simplified clinical trial protocols and reduced amendments +- Reduced source data verification (SDV) +- Wider use of mobile technologies, including electronic data capture (EDC) +- Use of lower-cost facilities or at-home testing +- Priority Review vouchers +- Improvements in FDA review process efficiency and more frequent and timely interactions with FDA + +Our analysis suggests that priority review vouchers and improvements in FDA review efficiency can help to shorten timelines, which in turn increase the expected net present value (eNPV) to the drug sponsor. Because these options affect the final stage of clinical research (mainly NDA/BLA approval), heir overall dollar value for a sponsor at the start of clinical research is much lower due to discounting. Therefore, holding everything constant, these options may be less appealing as strategies to stimulate drug development than alternatives which substantially lower costs early on in the clinical research process. Use of lower-cost facilities/in-home testing and wider use of mobile technologies appear to be most effective in reducing costs across therapeutic areas and trial phases. Use of lower-cost facilities and/or inhome testing can reduce per-trial costs by up to $0.8 million (up to 16 percent of cost per study) in Phase 1, $4.3 million (up to 22 percent of cost per study) in Phase 2, and $9.1 million (up to 17 percent of cost per study) in Phase 3, depending on therapeutic area. Wider use of mobile technologies can result in very similar maximum savings; $0.4 million (up to eight percent of cost per study) in Phase 1, $2.4 million (up to 12 percent of cost per study) in Phase 2, $6.1 million (up to 12 percent of cost per study) in Phase 3, and $6.7 million (up to 13 percent of cost per study) in Phase 4. On the other hand, loosening trial enrollment restrictions and reducing SDV efforts have smaller impacts on costs, resulting in maximum savings of less than $0.1 million to $0.2 million per trial, representing approximately one percent of perstudy costs in Phases 2 and 3. + +## 1 Introduction and Background + +In calendar year 2012, Food and Drug Administration (FDA) Center for Drug Evaluation and Research (CDER) approved 39 novel new drugs (i.e., new molecular entities (NMEs) and new biological entities (NBEs), including both novel drugs and biologics).1 While 39 approvals marks the highest number of NMEs/NBEs approved since 2004, drug companies are not filing as many applications with FDA for new drug approvals as they have in the past. Over the past 10 years (2003 to 2012), the number of NME/NBE approvals per year has fallen from the previous decade’s average of 30 to 25.7 (see Figure 1). The average yearly number of NME/NBE filings has also fallen slightly over the same time period. A reduction in the drug application pipeline means fewer novel therapies in future years. + +**Figure 1: New Molecular Entity (NME) and New Biologic Entity (NBE) Filings and Approvals** + +**![Figure 1: New Molecular Entity (NME) and New Biologic Entity (NBE) Filings and Approvals](https://aspe.hhs.gov/sites/default/files/private/images-reports/examination-clinical-trial-costs-and-barriers-drug-development/Figure%201.png)** + +Source: (U.S. Food and Drug Administration, 2013; Jenkins J. K., 2011) Notes: CDER data as of 11/30/2012. Since applications are received and filed throughout a calendar year, the filed applications in a given calendar year do not necessarily correspond to an approval in the same calendar year. Certain filed submissions are within their 60-day filing review period and may not be filed upon completion of the review. + +--- + +In 2004, to help drive new drug development and increase applications for novel new products, FDA launched its Critical Path Initiative, a strategy to help advance pharmaceutical innovation. Further, in 2011, Secretary Sebelius identified as one of the priority goals of the HHS, “accelerating the process of scientific discovery to patient care,” which includes building a national network of clinical research centers to enable clinical trials of promising compounds. + +Developing a new drug is a costly endeavor and the ever-increasing cost of clinical research is often cited as one of the main reasons for the slowdown in FDA application filings. It takes approximately 10 to 15 years to bring a new drug from the laboratory to the pharmacy shelf (English, Lebovitz, & Giffin, 2010). During the initial years of non-clinical testing, the sponsor completes synthesis and purification of the drug and conducts limited animal testing. Approximately one out of one thousand compounds in preclinical testing appears promising enough to induce the sponsor to file an Investigational New Drug (IND) application (Eisenstein, et al., 2004). If the FDA reviews the IND and determines that it is reasonably safe to proceed, the sponsor then initiates the first phase of clinical research. + +The clinical drug development stage consists of three phases. In Phase 1, clinical trials using healthy individuals are conducted to determine the drug’s basic properties and safety profile in humans. Typically, the drug remains in this stage for one to two years (DiMasi, Hansen, & Grabowski, 2003). In Phase 2, efficacy trials2 begin as the drug is administered to volunteers of the target population. At the end of Phase 2, the manufacturer meets with FDA officials to discuss the development process, continued human testing, any concerns the FDA may have, and the protocols for Phase 3, which is usually one of the most extensive and expensive parts of drug development. According to one source, mean phase lengths are 21.6 months (1.8 years) for Phase 1, 25.7 months (2.1 years) for Phase 2, and 30.5 months (2.5 years) for Phase 3 (DiMasi, Hansen, & Grabowski, 2003). Once Phase 3 is complete, the manufacturer files a New Drug Application (NDA). The period between completion of Phase 3 and drug approval typically lasts one to two years; including six to 10 months for the NDA review itself (or more if the drug is not approved after the first review). Toward the end of the NDA review stage, FDA and the drug sponsor meet with an advisory committee made of experts to present data and solicit advice on drug safety, effectiveness, and labeling. Once approved, the drug may be marketed in the U.S. with FDAregulated labeling (Lipsky & Sharp, 2001). Sometimes additional studies are conducted following FDA approval, during general use of the drug by medical practitioners. These studies are referred to as Phase 4 studies in this study but are also known as post-marketing studies (Lipsky & Sharp, 2001). + +The increasing cost of clinical research has significant implications for public health as it affects drug companies’ willingness to undertake clinical trials. Some researchers (Collier, 2009) argue that the rising clinical trial costs have made the industry as a whole more risk averse and less willing to take chances on novel medicines. Many drug companies are now conducting clinical trials in other countries, such as China and India, where costs can be as much as 60 percent lower. Clinical research centers are also more closely scrutinizing the types of clinical trials they will take on, with the fear that certain projects could put the center in a deficit (Collier, 2009). To increase clinical trial efficiency and reduce costs, companies have been looking at establishing effective surrogate endpoints3—as opposed to clinical endpoints, which take longer and are more difficult to monitor—to assess failures before moving to costly Phase 3 trials. They are also looking for ways to move more rapidly to electronic data capture (EDC). To improve the recruitment process, drug companies are also investigating the use of genetic markers as a way of screening who the product is most likely to be effective with and who is likely to have significant side effects before accepting human subjects into studies. + +Clinical trials can be sponsored by a variety of organizations, including industry, government agencies such as the National Institutes of Health (NIH), universities, and clinical research networks. Drug companies conduct clinical trials for a variety of reasons, including demonstrating safety and efficacy for new compounds, expanding the list of indications for previously approved compounds, improving market position by demonstrating superiority to other existing compounds, increasing the amount of safety and efficacy evidence for payer reimbursement, among other things. + +This study examines the decision-making process for those clinical trials that are: + +- Designed to demonstrate safety and efficacy for new compounds, and +- Sponsored by industry. + +The primary objectives of the study are: 1) to better understand sponsors’ strategies in the design and execution of clinical trials, 2) to identify factors that may delay, hinder, or lead to unsuccessfully completed trials, and 3) to develop an operational model of clinical trial decision-making to enable examination of what-if scenarios by end-users. + +--- + +1 The number represents applications for New Molecular Entities (NMEs) filed under New Drug Applications (NDAs) and therapeutic biologics filed under original Biologic License Applications (BLAs). + +2 According to a technical review prepared for the Agency for Healthcare Research and Quality (AHRQ), the distinction between efficacy and effectiveness trials is defined as follows: “Efficacy trials (explanatory trials) determine whether an intervention produces the expected result under ideal circumstances. Effectiveness trials (pragmatic trials) measure the degree of beneficial effect under “real world” clinical settings” (RTI International, 2006). + +3 While clinical endpoints are target outcomes that are measured directly (such as deaths), surrogate endpoints are intended to show the effect of the drug on a physiologic process or marker that is strongly correlated with a particular disease. For instance, CD4 cell counts might be used to assess the effectiveness of an antiviral medication in treating patients with human immunodeficiency virus (HIV) (Lipsky & Sharp, 2001). + +## 2 Clinical Trial Decision-making Model + +The existing literature on clinical trials primarily discusses the process of performing clinical trials—including statistical design issues and coordination problems among multiple centers and disciplines—and results, but few sources offer insights regarding the decision process of the sponsor (Hammons, Hilman, Kahan, & Neu, 1985). From the perspective of a drug sponsor operating under uncertainty, we postulate that the decision to undertake a clinical trial to demonstrate safety and efficacy is likely influenced by a variety of factors including: + +- Potential market size for the drug, which in turn depends on: + - Type of condition(s) (acute versus chronic, severity) the drug would treat; + - Size of the patient population (current and future); + - Number of existing drugs currently on the market that treat the same condition(s) and advances in treatment; +- Existing incentives, such as the Orphan Drug Act, and fast track FDA review that affect how quickly the drug can be brought to market and offer financial incentives; +- Clinical stage (Phase 1, Phase 2, and Phase 3) costs that are dependent on a variety of factors, including but not limited to: + - Patient accrual rates that depend upon selection criteria, the relative ease of screening eligible patients, and physician interest; + - Administrative, physician, registered nurse (RN), and clinical research associate (CRA) capacity (i.e., number of protocols per RN/physician, number of patients per RN/physician); + - Number of patients needed for the desired statistical precision; + - Number of protocols; + - Number of institutional review boards involved; + - Number of investigator sites and their locations; + - Cost of clinical data collection, management, and analysis; + - Technologies for data collection and verification; +- Projected manufacturing costs upon FDA approval which would be influenced by whether the drug is a small molecule or a biologic. + +The decision process for pursuing a clinical trial is also likely to vary by type of sponsor. A large established pharmaceutical company with deep pockets may be less risk averse and better positioned to undertake costly clinical trials whereas a small emerging company may find it difficult to allocate funding to clinical research, especially if the trials require a large patient population and multiple sites. + +Further, some of the clinical trial pathway formulation decisions, such as which indication within a therapeutic category to target and how to time/sequence the trials, are inextricably linked to business realities. Research objectives coupled with financial circumstances can force a sponsor down a specific clinical trial pathway. For example, large established pharmaceutical companies often try to allocate resources based on the research portfolio and the potential to market the product. In contrast, small companies can be focused on whether they can finance the development and up to what point. Small companies are also often subject to results pressures from their investors, which can lead to inappropriate or “short-cut” development approaches. + +The approach adopted in this study looks at the decision process from the point of view of an expected-revenue-maximizing sponsor in the face of uncertainty (or risk). As described in the following sections, the simplified clinical decision-making model incorporates the following considerations: + +- Therapeutic area, +- Potential market size/revenues for the drug, and +- Clinical stage (Phase 1, Phase 2, Phase 3, and Phase 4) costs that are dependent on a variety of factors, including but not limited to: + - Physician and RN costs; + - Number of patients needed for the desired statistical precision; + - Number of IRBs involved; + - Number of investigator sites; + - Cost of clinical data collection, management, and analysis; and + - Cost of clinical procedures. +- The following sections describe the data sources used (Section 2.1) in constructing the model, the conceptual framework (Section 2.2), the operational model (Section 2.3), and the model parameters (Section 2.4) in further detail. + + diff --git a/regulatory/dfda-drug-approval-process.md b/regulatory/dfda-drug-approval-process.md index 9c249fc3..799a412e 100644 --- a/regulatory/dfda-drug-approval-process.md +++ b/regulatory/dfda-drug-approval-process.md @@ -155,5 +155,4 @@ If the "Helpful Pool" is the majority, the proposal will be approved and impleme The ideal framework for crowdsourcing drug approvals leverages the collective intelligence of a diverse and knowledgeable crowd, ensuring a rigorous, transparent, and inclusive process. By incorporating comprehensive data management, transparent decision-making, and continuous learning mechanisms, this framework aims to enhance the efficiency and effectiveness of drug approvals, ultimately contributing to better health outcomes and trust in the approval process. - -👉[Learn more about the dFDA](/dfda) + diff --git a/right-to-trial-act.md b/right-to-trial-act.md new file mode 100644 index 00000000..59a2af55 --- /dev/null +++ b/right-to-trial-act.md @@ -0,0 +1,951 @@ +# RIGHT TO TRIAL ACT OF 2024 + +## SECTION 1\. SHORT TITLE AND FINDINGS + +### 1.1 Title + +This Act may be cited as the "Right to Trial Act of 2024" + +### 1.2 Core Findings + +Congress finds that: + +1. **Current System Failures** +* Current regulations unnecessarily delay treatment access +* Clinical trials exclude most patients who need treatment +* Artificial restrictions reduce both access and scientific value +* Many regulatory costs make drugs needlessly expensive +* Patients suffer and die waiting for approvals +* Innovation happens globally but access is restricted locally +* Companies are rewarded for expensive treatments over affordable ones +* Prevention is worth less than treatment +* Real-world outcomes are ignored +2. **Solution Framework** +* Give all patients right to participate in decentralized clinical trials +* Replace restricted trials with inclusive public outcome tracking +* Enable treatment access wherever patients are +* Reward both better outcomes AND lower costs +* Learn from all patient experiences +* Modernize FDA role + +## SECTION 2\. PATIENT ACCESS RIGHTS + +### 2.1 Universal Right to Treatment + +Any patient may access any treatment that has: + +* Completed basic safety testing (Phase 1\) +* Published safety data +* Registered for outcome tracking +* Accurate labeling of contents and manufacturing standards + +### 2.2 Access Protection + +Neither FDA nor any state may restrict: + +* Patient treatment choices after safety verification +* Location of treatment administration +* Doctor prescribing rights +* Treatment manufacturing meeting safety standards +* Treatment importing from qualified facilities +* Home-based treatment delivery +* Remote monitoring +* Telemedicine prescribing + +### 2.3 Provider Rights + +Healthcare providers may: + +* Prescribe any registered treatment +* Order from any registered manufacturer +* Import treatments for patients +* Participate in outcome tracking +* Provide home-based care +* Use telemedicine +* Monitor remotely +* Cross state lines + +### 2.4 Location Independence + +Patients may: + +* Receive treatment at home +* Use local healthcare facilities +* Access remote monitoring +* Submit data electronically +* Participate from any location +* Switch treatment locations +* Use mobile providers +* Choose convenience + +## SECTION 3\. TREATMENT OUTCOMES DATABASE (TOD) + +### 3.1 Establishment + +The Treatment Outcomes Database shall: + +* Replace restricted trials with inclusive tracking +* Enable participation from any location +* Support home-based monitoring +* Track real-world treatment outcomes +* Calculate healthcare cost impacts +* Enable treatment comparison +* Support reward calculations + +### 3.2 Universal Data Collection + +Providers must report: + +* Patient conditions (anonymized) +* Treatments used +* Health outcomes +* Adverse events +* Treatment costs +* Quality of life measures +* Location of care +* Access methods + +### 3.3 Inclusive Design + +TOD must support: + +* Remote data entry +* Mobile applications +* Home monitoring devices +* Telemedicine integration +* Patient-reported outcomes +* Caregiver input +* Multiple languages +* Accessibility features + +### 3.4 Public Access + +* All data publicly available (de-identified) +* Standard API for analysis +* Mobile apps for patients +* Cost comparison tools +* Research access +* Subgroup analysis tools +* Real-time updates +* Global availability + +### 3.5 Privacy Protection + +* Standard de-identification +* Secure data handling +* Patient consent for tracking +* Right to access own data +* Local data storage options +* Distributed systems +* End-to-end encryption +* User control + + +# RIGHT TO TRIAL ACT OF 2024 + +## SECTION 1\. SHORT TITLE AND FINDINGS + +### 1\. **Short Title** + +- This Act may be cited as the "Right to Trial Act of 2024." + +### 2\. **Findings** + +Congress finds that: + +a) **Access Barriers:** Current FDA regulations and traditional clinical trial models limit patient access to promising treatments, delaying potential health benefits. + +b) **Real-World Evidence:** Collecting real-world data is essential for evaluating the effectiveness of treatments across diverse populations and conditions. + +c) **Informed Choice:** Transparent outcome data empowers patients and healthcare providers to make informed treatment decisions. + +d) **Innovation and Competition:** Global collaboration and competition can accelerate innovation, reduce costs, and improve treatment options. + +e) **Balanced Approach:** A regulatory framework that combines patient freedom with robust monitoring best serves public health interests. + +f) **Regulatory Costs:** Regulatory user fees imposed on drug manufacturers increase the cost of developing new treatments, which are often passed on to patients in the form of higher drug prices. + +g) **Sickcare System Incentives:** The current "sickcare" system disproportionately rewards the treatment of symptoms rather than the prevention of disability, leading to higher long-term healthcare costs and suboptimal health outcomes. + +## SECTION 2\. TREATMENT ACCESS AND REAL-WORLD DATA COLLECTION + +### 1\. **Patient Rights** + +#### a) **Access to Treatments** + +Any patient with a serious or life-threatening condition may access any treatment that meets the following criteria: + +- + + i) **Phase 1 Safety Completion:** The treatment has successfully completed a Phase 1 clinical trial, demonstrating initial safety in humans. + +ii) **Published Safety Data:** Safety data from the Phase 1 trial is publicly available. + +iii) **Registration with the Treatment Outcomes Database (TOD):** The treatment is registered with the TOD for ongoing data collection. + +iv) **Compliance with Manufacturing and Labeling Standards:** The treatment adheres to Good Manufacturing Practices (GMP) and provides accurate labeling of contents. + +#### b) **Freedom from Restrictions** + +- No federal, state, or local agency may: i) **Limit Patient Access:** Restrict a patient's choice to access treatments meeting the above criteria. + + ii) **Restrict Healthcare Providers:** Prohibit licensed providers from prescribing or administering such treatments. + + iii) **Impede Manufacturing:** Prevent the production of treatments that comply with safety and quality standards. + + iv) **Block Importation:** Restrict the importation of treatments that meet international safety and quality standards. + +### 2\. **Healthcare Provider Responsibilities** + +- Providers administering experimental treatments must: a) **Informed Consent:** Obtain written informed consent from patients, clearly explaining the experimental nature of the treatment, known risks, and alternative options. + + b) **Data Reporting:** Collect and submit treatment and outcome data to the TOD as specified. + + c) **Monitoring:** Observe patients for adverse events and report them promptly. + + d) **Technology Utilization:** Utilize telemedicine and remote monitoring tools to administer and track treatments efficiently. + +## SECTION 3\. TREATMENT OUTCOMES DATABASE (TOD) + +### 1\. **Establishment and Purpose** + +- The TOD is established to: a) **Data Collection:** Aggregate standardized data on treatments to assess safety and effectiveness in real-world settings. + + b) **Transparency:** Provide open access to de-identified data for patients, providers, researchers, and policymakers. + + c) **Performance Metrics and Evaluation:** Track access, data quality, and cost metrics to ensure continuous improvement. + +### 2\. **Data Collection Requirements** + +#### a) **For Healthcare Providers** + +- Submit anonymized patient data, including: i) **Demographics and Medical History** + + ii) **Treatment Protocols:** Dosage, administration method, and duration. + + iii) **Outcomes:** Clinical results, patient-reported outcomes, and quality of life measures. + + iv) **Adverse Events:** Any side effects or complications observed. + +#### b) **For Manufacturers** + +- Report: i) **Comprehensive Safety Data** + + ii) **Manufacturing Standards Compliance** + + iii) **Cost Information:** Production costs and pricing structures. + + iv) **Distribution Data:** Availability and supply chain details. + +### 3\. **Data Privacy and Security** + +- The TOD must comply with all applicable privacy laws, including the Health Insurance Portability and Accountability Act (HIPAA). + +- Data must be de-identified to protect patient confidentiality. + +### 4\. **Data Utilization** + +- Collected data will be used to: a) **Evaluate Effectiveness:** Continuously update treatment effectiveness rankings. + + b) **Identify Safety Signals:** Monitor for adverse events and take appropriate action. + + c) **Inform Decision-Making:** Aid patients and providers in making evidence-based treatment choices. + +## SECTION 4\. GLOBAL MARKET ACCESS AND COMPETITION ENHANCEMENT + +### 1\. **International Cooperation** + +- To enhance access and data collection: a) **Recognition of International Safety Data:** Accept safety data from reputable international regulatory bodies equivalent to Phase 1 trials. + + b) **Harmonized Reporting Standards:** Align data reporting requirements with international standards to facilitate global data sharing. + + c) **Cross-Border Collaboration:** Encourage partnerships between domestic and international researchers, manufacturers, and healthcare providers. + +### 2\. **Price Transparency and Cost Reduction Measures** + +#### a) **Mandatory Disclosure** + +- Manufacturers must disclose the following for each experimental treatment: i) **Base Cost:** The fundamental cost of production and development. + + ii) **Pricing Structure:** Detailed breakdown of how the treatment is priced, including profit margins. + + iii) **Price Comparisons:** Comparative pricing data relative to similar treatments in the domestic and international markets. + +#### b) **Public Access** + +- All pricing information must be made publicly accessible through the TOD to enable comparison and informed decision-making by patients and providers. + +### 3\. **Enhancing Competition** + +#### a) **Facilitating Generic Entry** + +- Streamline the approval process for generic versions of experimental treatments once safety and basic efficacy are established. + +- Implement an abbreviated pathway for generic manufacturers to enter the market, reducing time and costs associated with bringing generics to patients. + +#### b) **Patent Reform** + +- Shorten patent exclusivity periods for experimental treatments that demonstrate clear safety and potential efficacy benefits. + +- Prevent "evergreening" practices where patents are extended without substantial innovation. + +#### c) **Encouraging Parallel Importation** + +- Allow the importation of treatments approved in other countries that meet U.S. safety and quality standards, fostering competition and reducing costs. + +### 4\. **Incentives for Cost Reduction** + +#### a) **Tax Credits** + +- Provide tax credits to manufacturers who price their experimental treatments competitively and transparently. + +#### b) **Volume-Based Discounts** + +- Encourage bulk purchasing agreements for experimental treatments to lower costs through economies of scale. + +#### c) **Efficiency Grants** + +- Offer grants to manufacturers that invest in technologies and processes that reduce production costs without compromising quality. + +## SECTION 5\. SAFETY STANDARDS AND FRAUD PREVENTION + +### 1\. **Minimum Safety Requirements** + +- Treatments must: a) **Complete Phase 1 Trials:** Demonstrate initial safety in human subjects. + + b) **Adhere to GMP:** Follow established manufacturing quality controls. + + c) **Provide Accurate Labeling:** Clearly state contents, dosages, and usage instructions. + + d) **Participate in Ongoing Monitoring:** Engage in continuous safety and effectiveness data collection through the TOD. + +### 2\. **Adverse Event Monitoring** + +- Establish a robust system for: a) **Reporting:** Healthcare providers and patients can report adverse events directly. + + b) **Analysis:** Rapid evaluation of reported events to identify potential safety concerns. + + c) **Action:** Implementing necessary measures, such as treatment modifications or withdrawals, based on emerging safety data. + +### 3\. **Fraud Prevention and Accountability** + +- Enforce strict penalties for: a) **Data Falsification** + + b) **Mislabeling or Misrepresentation** + + c) **Non-Compliance with Reporting Requirements** + +- Violations may result in criminal charges, fines, and disqualification from participating in the program. + +## SECTION 6\. INSURANCE COVERAGE AND COST TRANSPARENCY + +### 1\. **Insurance Options** + +- Insurance providers may: a) **Offer Coverage:** Include experimental treatments in their plans. + + b) **Adjust Pricing:** Use risk-based models to price premiums appropriately. + + c) **Create Specialized Plans:** Develop options tailored to patients seeking experimental treatments. + + d) **Allow Use of HSAs/FSAs:** Permit patients to use Health Savings Accounts or Flexible Spending Accounts for treatment costs. + +### 2\. **Cost Transparency** + +- Manufacturers and providers must: a) **Publish Price Lists:** Clearly state the costs of treatments. + + b) **Disclose Cost Basis:** Provide information on production and development costs. + + c) **Report Insurance Payments:** Share data on insurance reimbursements and patient out-of-pocket expenses. + + d) **Compare International Prices:** Offer context on how domestic prices relate to global markets. + +## SECTION 7\. INFORMED CONSENT AND LIABILITY + +### 1\. **Informed Consent Requirements** + +- Prior to treatment, patients must receive: a) **Clear Disclosure:** Information about the experimental nature of the treatment. + + b) **Risk Assessment:** Known potential risks and uncertainties. + + c) **Alternatives:** Available standard treatments and their comparative risks and benefits. + + d) **Cost Information:** Detailed explanation of financial obligations. + +- Patients must provide written acknowledgment of understanding and consent. + +### 2\. **Liability Framework** + +- **Protections for Providers and Manufacturers** a) **Safe Harbor:** Limited liability for adverse outcomes if all risks were properly disclosed and no negligence occurred. + + b) **Exceptions:** Liability remains for cases involving fraud, willful misconduct, or gross negligence. + + c) **Compliance Requirement:** Liability protections apply only if all reporting and safety monitoring obligations are met. + +## SECTION 8\. IMPLEMENTATION AND REGULATORY ADJUSTMENTS + +### 1\. **Role of the FDA** + +- The FDA shall: a) **Focus on Safety Oversight:** Prioritize monitoring safety data and adverse event reporting. + + b) **Manage the TOD:** Oversee the operation and maintenance of the database. + + c) **Publish Guidance:** Provide information to stakeholders about compliance and best practices. + + d) **Coordinate Internationally:** Engage with global regulatory bodies to harmonize standards and data sharing. + + e) **Elimination of Regulatory User Fees:** + + - **Complete Fee Exemption:** All experimental treatments covered under this Act are exempt from **all** FDA regulatory user fees, including Prescription Drug User Fee Act (PDUFA) fees and any other associated submission fees. + + - **Alternative Funding Mechanism:** Establish the **FDA Regulatory Support Fund (RFSF)**, a dedicated federal fund to support the FDA’s regulatory activities related to the Right to Trial Act. This fund shall be financed through congressional appropriations and other authorized federal funding sources, ensuring the FDA maintains adequate resources for oversight without imposing fees on manufacturers. + +### 2\. **Transition Period** + +- **Timeline** a) **Implementation Start:** The Act takes effect 180 days after enactment. + + b) **Staged Deployment:** Roll out the TOD and new processes in phases to ensure stability. + +- **Provider and Manufacturer Training** a) **Educational Programs:** Offer training on reporting requirements, informed consent procedures, and safety monitoring. + + b) **Resources:** Develop guidance documents and support channels. + +- **Public-Private Partnerships Integration** a) **Collaborative Research Initiatives:** Facilitate partnerships to accelerate treatment development. + + b) **Shared Resources:** Promote resource sharing to enhance efficiency. + +### 3\. **Initial Monitoring** + +- **Evaluation Period:** Assess the implementation's impact on patient safety and data quality. + +- **Adjustments:** Make necessary regulatory adjustments based on observed outcomes. + +## SECTION 9\. FUNDING AND RESOURCES + +### 1\. **Authorization of Appropriations** + +- Congress authorizes funding to: a) **Develop and Maintain the TOD** + + b) **Support FDA's Expanded Role** + + c) **Provide Training and Resources to Providers and Manufacturers** + + d) **Fund the FDA Regulatory Support Fund (RFSF)** + +### 2\. **Grants and Incentives** + +- Offer financial incentives for: a) **Technology Development:** Tools that enhance data collection and patient monitoring. + + b) **Research Collaboration:** Projects that utilize TOD data to improve treatment effectiveness. + +## SECTION 10\. SEVERABILITY + +- If any provision of this Act is held invalid, the remainder of the Act shall not be affected and shall continue to be enforceable. + +## SECTION 11\. SAVINGS SHARING PROGRAM + +### 11.1 **Purpose** + +- To incentivize pharmaceutical companies to develop and bring to market innovative treatments that significantly prevent disability and reduce medical costs that would otherwise be borne by the government, thereby promoting public health and economic efficiency. + +### 11.2 **Definitions** + +- For the purposes of this section: + + 1. **Savings Sharing Program:** A structured incentive program that rewards pharmaceutical companies based on the verified cost savings their treatments generate by preventing disability and reducing government medical expenditures. + + 2. **Cost Savings:** The reduction in government medical expenditures resulting from the use of a pharmaceutical treatment, including but not limited to decreased hospitalizations, reduced need for long-term care, and lower disability-related expenses. + + 3. **Evaluation Period:** The timeframe during which the treatment's impact on public health and government costs is assessed, typically spanning five years post-approval. + + 4. **Independent Assessment Body (IAB):** An autonomous entity responsible for evaluating the performance and calculating the cost savings attributable to approved treatments. + +### 11.3 **Eligibility Criteria** + +- A pharmaceutical treatment is eligible for the Savings Sharing Program if it meets the following criteria: + + 1. **Approval and Registration:** + + - The treatment has received approval from the FDA under the provisions of this Act. + + - The treatment is registered with the Treatment Outcomes Database (TOD). + + + + 2. **Demonstrated Impact:** + + - Clinical and real-world evidence must show that the treatment significantly prevents disability or reduces medical costs. + + - The treatment must address a serious or life-threatening condition with substantial public health implications. + + + + 3. **Data Reporting:** + + - Ongoing data collection and reporting to the TOD are maintained, ensuring accurate assessment of the treatment's impact. + +### 11.4 **Calculation of Rewards** + +#### a) **Cost Savings Assessment** + +- The IAB shall annually assess the cost savings attributed to eligible treatments by analyzing data from the TOD, government healthcare expenditure reports, and other relevant sources. + +- Cost savings include reductions in hospitalization rates, decreased need for long-term care, lower disability benefits payouts, and other measurable financial impacts on government healthcare programs. + +#### b) **Reward Calculation** + +- The reward amount shall be calculated as a percentage of the verified cost savings directly attributable to the treatment. + +- The percentage shall be determined through a competitive bidding process, ensuring fair and transparent allocation of funds. + +- The maximum reward for any single treatment shall not exceed 20% of the total verified cost savings during the Evaluation Period. + +#### c) **Cap on Total Rewards** + +- To ensure fiscal responsibility, the total annual allocation for the Savings Sharing Program shall be capped at a predetermined amount established by Congress, adjusted periodically for inflation and healthcare cost trends. + +### 11.5 **Award Distribution** + +#### a) **Timing** + +- Rewards shall be distributed annually following the completion of each Evaluation Period. + +#### b) **Process** + +- Pharmaceutical companies must submit detailed reports demonstrating their treatment's impact on preventing disability and reducing medical costs. + +- The IAB will verify the submitted data and calculate the corresponding rewards based on the established criteria. + +#### c) **Public Disclosure** + +- Awarded rewards and the corresponding treatments shall be publicly disclosed to maintain transparency and accountability. + +### 11.6 **Oversight and Compliance** + +#### a) **Independent Oversight** + +- An Independent Oversight Committee (IOC) shall be established to monitor the integrity of the reward process, ensuring unbiased assessments and preventing conflicts of interest. + +#### b) **Audit and Review** + +- Regular audits shall be conducted to verify the accuracy of cost savings calculations and the proper allocation of rewards. + +#### c) **Penalties for Misrepresentation** + +- Pharmaceutical companies found to have falsified data or misrepresented the impact of their treatments shall be disqualified from receiving rewards and may face additional penalties, including fines and legal action. + +### 11.7 **Funding for the Savings Sharing Program** + +#### a) **Source of Funds** + +- The Savings Sharing Program shall be funded through a dedicated **Healthcare Innovation Reward Fund (HIRF)**, established by congressional appropriation. + +#### b) **Allocation** + +- Funds allocated to the HIRF shall be used exclusively for rewards, ensuring that pharmaceutical companies receive direct incentives for their contributions to preventing disability and reducing medical costs. + +### 11.8 **Reporting and Transparency** + +#### a) **Annual Reports** + +- The IAB, in collaboration with the IOC, shall publish annual reports detailing the rewards distributed, the treatments awarded, and the associated cost savings. + +#### b) **Stakeholder Engagement** + +- Feedback from healthcare providers, patients, and other stakeholders shall be solicited to continuously improve the Savings Sharing Program and ensure it aligns with public health goals. + +## SECTION 12\. SEVERABILITY + +- If any provision of this Act is held invalid, the remainder of the Act shall not be affected and shall continue to be enforceable. + +--- + +## **Summary of Key Sections** + +1. **Section 1:** Establishes the short title and outlines the findings that justify the Act, including the elimination of regulatory user fees and the shift from a "sickcare" system to a prevention-focused approach. + +2. **Section 2:** Defines patient rights to access experimental treatments and outlines healthcare providers' responsibilities in administering these treatments and reporting data. + +3. **Section 3:** Establishes the Treatment Outcomes Database (TOD) for collecting and utilizing real-world data on treatment effectiveness and safety. + +4. **Section 4:** Enhances global market access and competition through international cooperation, price transparency, and measures to facilitate generic entry and parallel importation. + +5. **Section 5:** Sets minimum safety standards and outlines mechanisms for adverse event monitoring and fraud prevention. + +6. **Section 6:** Expands insurance coverage options for experimental treatments and mandates cost transparency from manufacturers and providers. + +7. **Section 7:** Ensures informed consent and outlines a liability framework that protects providers and manufacturers while holding them accountable for misconduct. + +8. **Section 8:** Details the FDA's role, including the elimination of all regulatory user fees and the establishment of the FDA Regulatory Support Fund (RFSF) to maintain oversight without burdening manufacturers. + +9. **Section 9:** Authorizes funding and resources necessary to implement and sustain the Act's provisions, including maintaining the TOD and supporting the FDA. + +10. **Section 10:** Maintains the Act's enforceability even if certain provisions are found invalid. + +11. **Section 11:** Introduces the Savings Sharing Program, incentivizing pharmaceutical companies to develop treatments that prevent disability and reduce government medical costs through a structured reward system. + +--- + +## **Key Benefits of the Right to Trial Act of 2024** + +1. **Reduced Financial Barriers for Manufacturers:** + + - By completely eliminating regulatory user fees, the Act removes a major cost component for drug manufacturers, encouraging more companies to develop and submit new treatments. + + + +2. **Increased Treatment Accessibility:** + + - Patients gain broader access to experimental treatments sooner, potentially improving health outcomes for those with serious or life-threatening conditions. + + + +3. **Enhanced Data Collection and Transparency:** + + - The Treatment Outcomes Database (TOD) ensures continuous real-world data collection, improving the understanding of treatment effectiveness and safety. + + + +4. **Promoted Competition and Lower Costs:** + + - Price transparency, patent reform, and facilitation of generic entry foster a competitive market, driving down costs and making treatments more affordable for patients. + + + +5. **Sustained Regulatory Oversight:** + + - The FDA Regulatory Support Fund (RFSF) ensures the FDA remains adequately funded to maintain safety oversight without relying on manufacturer fees. + + + +6. **Balanced Regulatory Framework:** + + - The Act balances patient access with necessary safety and efficacy monitoring, maintaining public health protections while promoting innovation. + + + +7. **Global Collaboration:** + + - International cooperation expands access to global innovations and fosters a more unified approach to treatment development and approval. + + + +8. **Incentivizing Prevention:** + + - The Savings Sharing Program rewards treatments that prevent disability and reduce long-term medical costs, shifting incentives from reactive "sickcare" to proactive health management. + +--- + +## **Implementation Considerations** + +### **1\. Establishing the Independent Assessment Body (IAB) and Independent Oversight Committee (IOC)** + +- **Composition:** + + - The IAB should consist of experts in healthcare economics, public health, pharmaceutical development, and data analysis to ensure accurate and unbiased assessments. + + - The IOC should include representatives from diverse stakeholders, including patient advocacy groups, healthcare providers, and industry experts. + +### **2\. Defining Clear Metrics for Cost Savings** + +- Develop standardized metrics and methodologies for calculating cost savings attributable to specific treatments, ensuring consistency and reliability in reward calculations. + +### **3\. Ensuring Adequate Funding for HIRF and RFSF** + +- **Detailed Budgeting:** + + - Clearly outline the funding requirements for both the Healthcare Innovation Reward Fund (HIRF) and the FDA Regulatory Support Fund (RFSF) to cover the elimination of user fees and support regulatory activities. + + +- **Congressional Appropriations:** + + - Secure consistent and sufficient funding through annual appropriations to prevent shortfalls. + +### **4\. Monitoring and Adjusting the FDA’s Funding Needs** + +- Implement regular assessments of the RFSF to ensure it meets the FDA’s regulatory needs effectively. + +- Allow for adjustments based on the evolving landscape of drug development and regulatory requirements. + +### **5\. Transparency and Accountability** + +- **Reporting Requirements:** + + - Mandate the FDA and IAB to publish annual reports detailing the use of funds, rewards distributed, and the impact of awarded treatments. + + +- **Oversight Mechanisms:** + + - Establish oversight committees or audit processes to ensure funds are used appropriately and effectively. + +### **6\. Stakeholder Engagement** + +- **Collaborative Approach:** + + - Engage with pharmaceutical manufacturers, healthcare providers, patient advocacy groups, and other stakeholders during the implementation phase to address challenges and optimize the Act’s provisions. + + +- **Feedback Loops:** + + - Create channels for continuous feedback to inform ongoing adjustments and improvements to the Act. + +### **7\. Long-Term Sustainability** + +- **Future-Proofing:** + + - Design the HIRF and RFSF to be adaptable to future changes in the pharmaceutical landscape, ensuring long-term sustainability. + + +- **Incentivizing Continued Innovation:** + + - Ensure that the elimination of user fees does not inadvertently reduce the incentive for innovation by maintaining other supportive measures within the Act. + +--- + +## **Final Recommendations** + +1. **Integrate Section 11 Seamlessly:** + + - Ensure that the Savings Sharing Program is harmoniously integrated with existing sections of the Act, maintaining coherence and facilitating smooth implementation. + + + +2. **Engage Stakeholders Early:** + + - Involve key stakeholders in the development and refinement of the Savings Sharing Program to ensure it meets diverse needs and garners broad support. + + + +3. **Pilot Programs:** + + - Consider implementing pilot programs to test the effectiveness of the Savings Sharing Program, allowing for data-driven adjustments before full-scale deployment. + + + +4. **Legislative Support:** + + - Garner bipartisan support by highlighting the mutual benefits of the Savings Sharing Program, including enhanced public health outcomes and economic savings, aligning the Act with public health and economic interests. + + + +5. **Maintain Flexibility:** + + - Design the Savings Sharing Program with built-in flexibility to adapt to future advancements in medical research, changes in healthcare economics, and shifts in pharmaceutical industry dynamics. + + +To effectively incentivize pharmaceutical companies to participate in the **Right to Trial Act of 2024** and make treatments available to patients through the new **Treatment Outcomes Database (TOD)**, it is essential to align their financial and strategic interests with public health objectives. By leveraging **Health Dividend Rewards** and restructuring the clinical trial funding model, we can create a compelling value proposition for pharmaceutical manufacturers without relying on grants. Below are detailed strategies to achieve this: + +## **1\. Health Savings Dividend Program** + +### **a. Overview** + +The **Health Dividend Rewards Program** is designed to reward pharmaceutical companies based on the measurable reduction in future healthcare costs resulting from their treatments' ability to prevent disabilities and improve patient outcomes. This performance-based incentive aligns pharma interests with public health goals by linking financial rewards to real-world effectiveness and cost savings. + +### **b. Mechanism** + +1. **Cost Savings Calculation:** + + - **Data Integration:** Utilize data from the **Treatment Outcomes Database (TOD)** to track the long-term health outcomes of patients using experimental treatments. + - **Savings Metrics:** Calculate savings based on reduced hospitalizations, decreased need for long-term care, lower disability benefits payouts, and other relevant healthcare cost reductions. + - **Independent Verification:** An **Independent Assessment Body (IAB)** verifies the accuracy of the cost savings attributed to each treatment. + + + +2. **Reward Allocation:** + + - **Percentage-Based Rewards:** Allocate a percentage of the verified cost savings to the pharmaceutical company responsible for the treatment. For example, a company might receive 15-20% of the total savings their treatment generates. + - **Caps and Floors:** Implement minimum and maximum reward thresholds to ensure fairness and fiscal responsibility. For instance, no single treatment’s reward may exceed 20% of the total verified cost savings. + + + +3. **Payment Schedule:** + + - **Annual Disbursements:** Rewards are distributed annually based on the previous year’s verified savings, providing predictable and timely incentives. + - **Performance Bonuses:** Additional bonuses for treatments that exceed predefined effectiveness and cost-saving benchmarks. + +### **c. Benefits** + +- **Financial Incentive:** Direct financial rewards based on the treatment’s real-world performance, encouraging companies to prioritize efficacy and cost-effectiveness. +- **Market Differentiation:** Treatments that generate higher cost savings can be marketed as more economically beneficial, enhancing their competitive edge. +- **Long-Term Partnership:** Fosters a collaborative relationship between the government and pharmaceutical companies, focused on sustainable healthcare improvements. + +### **d. Implementation Considerations** + +- **Transparent Criteria:** Clearly define the metrics and methodologies for calculating cost savings to ensure transparency and trust among stakeholders. +- **Robust Data Security:** Ensure that all data used for calculating rewards is securely handled and complies with privacy regulations to protect patient information. + +## **2\. Government-Funded Clinical Trials Beyond Phase 1** + +### **a. Overview** + +By shifting the financial burden of Phase 2 and Phase 3 clinical trials to the government, pharmaceutical companies can reduce their upfront costs, making it more attractive to invest in and develop new treatments. This approach not only accelerates the availability of promising therapies but also ensures rigorous evaluation of their safety and efficacy. + +### **b. Mechanism** + +1. **Government-Funded Trials:** + + - **Eligibility Criteria:** Treatments that have successfully completed Phase 1 trials and demonstrate significant potential in treating serious or life-threatening conditions qualify for government funding for Phase 2 and Phase 3 trials. + - **Funding Allocation:** The government allocates funds to cover the costs associated with these clinical trials, including patient recruitment, data collection, and regulatory compliance. + - **Collaborative Research:** Encourage partnerships between pharmaceutical companies and government research institutions to conduct these trials efficiently. + + + +2. **Shared Intellectual Property (IP) Rights:** + + - **IP Agreements:** Implement agreements that allow pharmaceutical companies to retain IP rights while the government funds the subsequent trial phases, ensuring companies can commercially benefit from successful treatments. + - **Revenue Sharing:** Structure agreements where the government receives a percentage of future revenues from successful treatments, aligning long-term financial interests. + + + +3. **Streamlined Approval Process:** + + - **Priority Review:** Provide expedited review processes for treatments funded by the government, reducing time-to-market for effective therapies. + - **Regulatory Support:** Offer additional regulatory guidance and support to ensure smooth and efficient trial progression. + +### **c. Benefits** + +- **Reduced Financial Risk:** Alleviates the high costs associated with late-stage clinical trials, encouraging more companies to develop innovative treatments. +- **Accelerated Availability:** Speeds up the introduction of effective treatments to the market, benefiting patients sooner. +- **Enhanced Quality:** Government oversight ensures that funded trials adhere to the highest standards of safety and efficacy, maintaining public trust. + +### **d. Implementation Considerations** + +- **Funding Stability:** Ensure consistent and adequate government funding for clinical trials to maintain confidence among pharmaceutical companies. +- **Transparent Selection Process:** Establish clear and objective criteria for selecting which treatments receive funding to prevent favoritism and ensure fairness. +- **Performance Monitoring:** Continuously monitor the outcomes of funded trials to assess effectiveness and make necessary adjustments to the program. + +## **3\. Integration with the Treatment Outcomes Database (TOD)** + +### **a. Overview** + +The **Treatment Outcomes Database (TOD)** serves as the backbone for both the Health Savings Dividend Program and the government-funded clinical trials. By centralizing data on treatment outcomes, the TOD enables accurate measurement of cost savings and treatment effectiveness. + +### **b. Mechanism** + +1. **Data Collection and Reporting:** + + - **Standardized Protocols:** Implement standardized data collection protocols to ensure consistency and reliability across all entries. + - **Real-Time Updates:** Enable real-time data reporting from healthcare providers and manufacturers to keep the database current. + + + +2. **Data Utilization:** + + - **Cost Savings Analysis:** Use TOD data to perform detailed analyses of how treatments impact long-term healthcare costs. + - **Outcome Tracking:** Monitor patient outcomes to identify successful treatments and areas needing improvement. + + + +3. **Accessibility and Transparency:** + + - **Open Access:** Provide access to de-identified data for researchers, policymakers, and the public to promote transparency and collaborative innovation. + - **Data Security:** Implement robust security measures to protect sensitive patient information and maintain trust in the system. + +### **c. Benefits** + +- **Comprehensive Insights:** Facilitates a deeper understanding of treatment impacts, driving informed decision-making and policy development. +- **Enhanced Accountability:** Ensures that pharmaceutical companies are held accountable for the real-world performance of their treatments. +- **Facilitated Innovation:** Encourages continuous improvement and innovation based on real-world data and feedback. + +## **4\. Summary of Incentive Structures** + +| Incentive Mechanism | Description | Key Benefits | +| :---- | :---- | :---- | +| **Health Dividend Rewards** | Financial rewards based on verified reductions in future healthcare costs due to treatment efficacy. | Aligns pharma incentives with public health goals, encourages cost-effective and effective treatments. | +| **Government-Funded Phase 2 & 3 Trials** | The government finances late-stage clinical trials, reducing pharma’s financial burden and accelerating treatment availability. | Lowers development costs for pharma, speeds up market entry, ensures high-quality trials. | +| **Shared IP and Revenue Sharing** | Agreements allowing pharma to retain IP rights with a share of future revenues to the government. | Ensures pharma can benefit commercially while contributing to public health savings. | +| **Priority Review and Regulatory Support** | Expedited regulatory processes and additional support for treatments funded by the government. | Reduces time-to-market, enhances regulatory efficiency, and provides clear guidance to pharma. | +| **Integration with TOD for Data-Driven Rewards** | Utilization of TOD data to accurately measure and verify cost savings and treatment effectiveness for rewards distribution. | Ensures transparency, accountability, and data-driven decision-making in rewards allocation. | + +## **5\. Implementation Strategy** + +### **a. Legislative Framework** + +Incorporate the Health Dividend Rewards and government-funded clinical trials into the **Right to Trial Act of 2024** by adding specific sections that outline the structure, eligibility, and operational guidelines for these programs. + +### **b. Stakeholder Collaboration** + +- **Pharmaceutical Companies:** Engage with pharma representatives early in the legislative process to ensure their concerns are addressed and to secure buy-in. +- **Healthcare Providers:** Collaborate with providers to streamline data reporting and utilization within the TOD. +- **Regulatory Bodies:** Work closely with the FDA to ensure regulatory support aligns with the new incentive structures. + +### **c. Communication and Transparency** + +- **Clear Messaging:** Communicate the mutual benefits of the programs to pharmaceutical companies, emphasizing cost savings, revenue opportunities, and enhanced market competitiveness. +- **Public Awareness:** Inform the public about increased access to treatments and the robust data-driven approach ensuring safety and efficacy. + +### **d. Monitoring and Evaluation** + +- **Continuous Assessment:** Regularly evaluate the effectiveness of the Health Dividend Rewards and government-funded trials in achieving desired outcomes. +- **Feedback Loops:** Establish mechanisms for ongoing feedback from pharmaceutical companies and other stakeholders to refine and improve the programs. + +## **6\. Potential Challenges and Mitigation Strategies** + +### **a. Funding Stability for Clinical Trials** + +- **Mitigation:** Secure multi-year funding commitments through legislative appropriations to ensure consistent support for clinical trials. + +### **b. Accurate Measurement of Cost Savings** + +- **Mitigation:** Develop robust methodologies and leverage advanced analytics within the TOD to ensure precise and reliable cost savings calculations. + +### **c. Protecting Pharmaceutical IP** + +- **Mitigation:** Clearly define IP rights and revenue-sharing terms in government-pharma agreements to protect commercial interests while enabling public health benefits. + +### **d. Ensuring High-Quality Data** + +- **Mitigation:** Implement stringent data quality standards and regular audits within the TOD to maintain the integrity and reliability of the collected data. + +## **Conclusion** + +By integrating **Health Dividend Rewards** and restructuring the clinical trial funding model to have the government finance Phase 2 and Phase 3 trials, the **Right to Trial Act of 2024** can effectively incentivize pharmaceutical companies to make experimental treatments available to patients. This approach leverages market mechanisms and performance-based incentives, aligning the financial interests of pharmaceutical manufacturers with the public health goals of increased accessibility, affordability, and innovation. By focusing on reducing future healthcare costs through avoiding disabilities and ensuring that the clinical trial process is financially supported, the Act not only encourages the development and availability of new treatments but also fosters a sustainable and collaborative healthcare ecosystem. + +--- + +**Note:** The success of these strategies hinges on meticulous legislative drafting, stakeholder collaboration, and ongoing monitoring to adapt to emerging challenges and ensure that the incentives remain effective and equitable. + +# Why this hasn't been done + +Implementing a program like the Health Savings Dividend might seem straightforward, but several real-world complexities have likely prevented it from being adopted on a large scale. Here are some of the primary barriers: + +1\. Complexities in Cost Attribution and Savings Verification + +Challenge: Accurately attributing long-term healthcare savings to specific treatments is challenging due to the many factors affecting a patient’s health (e.g., lifestyle, other medications, genetic factors). + +Solution in the Dividend Model: A global Treatment Outcomes Database (TOD) would address this by gathering and analyzing standardized outcome data, but building and maintaining such a database requires extensive coordination, funding, and ongoing commitment. + +2\. Incentive Misalignment in Current Healthcare Structures + +Challenge: The current healthcare system often prioritizes short-term profitability over long-term savings. Pharmaceutical companies, insurers, and providers may not be incentivized to develop or distribute affordable, preventative treatments if these don't provide immediate returns. + +Solution in the Dividend Model: By rewarding companies with a share of net healthcare savings, this model would realign incentives toward affordable treatments that offer long-term health benefits, although shifting entrenched business practices and financial incentives would still take time. + +3\. Complexity of Regulatory and Policy Change + +Challenge: Implementing systemic changes like the Health Savings Dividend would require regulatory updates and new legislation, which can be a lengthy process, especially given competing interests in the healthcare and pharmaceutical sectors. + +Solution in the Dividend Model: Clear legislation outlining dividend structures, funding for TOD development, and pilot programs could incrementally introduce this model. However, overcoming regulatory inertia would require political will and collaboration across sectors. + +4\. Pharmaceutical Revenue Models and Pricing Practices + +Challenge: Pharmaceutical companies rely on high prices to recover R\&D costs, especially in the U.S. where drug prices are significantly higher than in other countries. A model encouraging lower prices challenges this traditional revenue approach. + +Solution in the Dividend Model: By allowing companies to earn dividends based on the long-term healthcare savings their treatments generate, the model provides a lucrative alternative revenue stream, but it requires a shift in pricing strategies and financial forecasting that some companies may resist. + +5\. Data Infrastructure and Privacy Concerns + +Challenge: A robust, privacy-compliant data infrastructure like the TOD would require significant investment and rigorous data protection to safeguard patient information. Building such a system also requires buy-in from healthcare providers, insurers, and patients. + +Solution in the Dividend Model: Investment in secure, de-identified data protocols and clear privacy protections would be essential, and making this data-sharing model optional but incentivized could encourage gradual adoption. + +6\. Uncertainty in Predicting Long-Term Savings + +Challenge: Unlike traditional revenue models, long-term savings predictions can be uncertain, and companies may be wary of relying on dividend payouts tied to savings estimates rather than guaranteed sales revenue. + +Solution in the Dividend Model: Pilot programs, possibly government-backed, could provide a demonstration of the dividend model's reliability, helping to build trust and encourage industry participation. + +Why It’s Worth Exploring Now + +Despite these challenges, the Health Savings Dividend model could be increasingly feasible as data infrastructure improves and the need for cost-effective healthcare solutions grows. With advancements in data analytics, machine learning, and secure data-sharing protocols, we are closer than ever to being able to accurately track and reward long-term healthcare savings. + +In summary, while structural and practical barriers have likely prevented this kind of model from being adopted widely, recent advances in health data analytics and a shift toward value-based care could make it a viable solution to rising healthcare costs. Pilot programs or public-private partnerships could offer a path forward, demonstrating the model’s potential and building momentum for broader adoption. diff --git a/roadmap.md b/roadmap.md new file mode 100644 index 00000000..5d9ce7a2 --- /dev/null +++ b/roadmap.md @@ -0,0 +1,258 @@ +# Roadmap to a Global Autonomous Decentralized FDA + +Below is an **absurdly comprehensive, highly-detailed, hierarchical to-do list** for launching a global decentralized trial system with **AI coordination**, robust **patient rights** (trial participation, importation), and **universal data-sharing standards**. The goal is to move as **quickly and cheaply** as possible, though some tasks inevitably require large investments. Time and cost estimates are **approximate** and can vary widely based on execution, political climate, and scope. Recommended organizations and experts are **illustrative** suggestions based on known capabilities. + +--- + +## **PHASE 0: FOUNDATIONAL PLANNING (0–6 months)** + +1. **Establish Steering Committee** + 1.1. **Form Core Leadership Team** + - **Tasks**: Identify 5–10 individuals representing legal, medical, regulatory, tech, and patient advocacy backgrounds. + - **Time**: 1–2 months + - **Cost**: Minimal (travel, administrative) ≈ \$50k–100k + - **Suggested Orgs/People**: + - Former FDA officials (e.g., Scott Gottlieb, if available in a consulting capacity) + - Patient advocacy leaders (e.g., representatives from the Global Genes, American Cancer Society) + - Tech entrepreneurs or philanthropic leads (e.g., from Gates Foundation) + + 1.2. **Define Mission & Scope** + - **Tasks**: Draft official mission statement, success metrics, timelines, and budgets. + - **Time**: 2–4 weeks + - **Cost**: \$10k–30k (mostly for workshops, drafting) + - **Personnel**: Steering committee + administrative support + +2. **Secure Initial Funding Commitments** + 2.1. **Pitch to Philanthropists / Foundations** + - **Tasks**: Prepare pitch decks, ROI arguments, and philanthropic impact statements. + - **Time**: 2–3 months + - **Cost**: \$20k–50k (travel, materials) + - **Potential Funders**: + - Gates Foundation, Chan Zuckerberg Initiative, Open Philanthropy, Wellcome Trust + + 2.2. **Engage High-Net-Worth Individuals** + - **Tasks**: Host private dinners or summits with wealthy donors. + - **Time**: 1–2 months (overlapping with 2.1) + - **Cost**: \$10k–30k for event hosting and follow-ups + - **Potential Individuals**: + - Elon Musk (for technology synergy), Bill Gates, Mark Zuckerberg, etc. + +3. **Initial Legal & Regulatory Research** + 3.1. **Map Current Regulations** + - **Tasks**: Catalog major U.S. (FDA, state laws), EU (EMA, GDPR), and other jurisdictions. Identify import/export barriers. + - **Time**: 3–4 months + - **Cost**: \$100k–200k for a specialized research firm or law firm + - **Firms**: Hogan Lovells, Covington & Burling, Sidley Austin (healthcare practice) + + 3.2. **Assess Feasibility of Interstate Compact** + - **Tasks**: Analyze legal steps needed for states to form “Cure Zones.” + - **Time**: 2–3 months + - **Cost**: \$50k–100k (legal consultation, policy analysis) + - **Personnel**: Policy experts at National Conference of State Legislatures (NCSL) + +4. **Tech & AI Architecture Blueprint** + 4.1. **Evaluate Existing Decentralized Trial Platforms** + - **Tasks**: Deep-dive into solutions from Science 37, Medable, Curebase, THREAD, etc. + - **Time**: 1–2 months + - **Cost**: \$20k–40k (technical consultancy) + 4.2. **Draft AI Coordination Agent Specs** + - **Tasks**: Outline system requirements for multi-stakeholder negotiation (large language model fine-tuning, global datasets, privacy compliance). + - **Time**: 2–3 months + - **Cost**: \$50k–100k (AI consultants, data architects) + - **Possible Partners**: + - OpenAI (via specialized partnership), Anthropic, Microsoft AI research labs + +--- + +## **PHASE 1: RAPID PILOT IMPLEMENTATIONS (6–18 months)** + +1. **Launch Philanthropist-Funded Platform Pilot** + 1.1. **Select Decentralized Trial Company as Lead Partner** + - **Tasks**: RFP process among existing platforms to choose best partner(s). + - **Time**: 2–3 months + - **Cost**: \$25k–50k for RFP management + - **Potential Partners**: Science 37, Medable, Curebase + + 1.2. **Build/Customize Platform for Pilot** + - **Tasks**: Integrate advanced eConsent, real-time data capture, multi-language support. + - **Time**: 4–6 months + - **Cost**: \$10M–20M + - **Personnel**: 50–80 software engineers, data scientists, UI/UX specialists + - **Organizations**: Contract with existing trial company’s dev team + additional staff + + 1.3. **Run Real-World Pilot Trials** + - **Tasks**: Recruit patients (focus on one or two disease areas: oncology or rare diseases), gather outcomes data, ensure compliance. + - **Time**: 6–12 months (overlaps with platform customization) + - **Cost**: \$5M–10M for patient recruitment, IRB oversight, data management + - **Potential Sites**: Hospitals in states with progressive telehealth laws (e.g., California, Massachusetts) + +2. **AI Coordination Agent MVP** + 2.1. **Assemble AI Dev Team** + - **Tasks**: Recruit 10–20 data scientists, NLP specialists, compliance experts. + - **Time**: 2–3 months + - **Cost**: \$2M–4M/yr in salaries + \$1M–2M for computing resources + - **Possible Partners**: Microsoft, OpenAI, or a specialized AI startup + + 2.2. **Train Initial Model** + - **Tasks**: Collect datasets on clinical trial protocols, regulations, legislative processes. + - **Time**: 3–5 months + - **Cost**: \$2M–5M for data acquisition, computational overhead + 2.3. **Prototype Global Policy Negotiation** + - **Tasks**: Test AI agent’s ability to draft policy proposals, identify shared interests among stakeholders, propose compromise language. + - **Time**: 2–4 months + - **Cost**: \$1M–2M for pilot testing, feedback loops with actual stakeholders + +3. **Interstate Compact Feasibility & Drafting** + 3.1. **Lobby Key States** + - **Tasks**: Work with 2–3 receptive states (e.g., CA, TX, NY) to draft Cure Zone language. + - **Time**: 3–6 months + - **Cost**: \$500k–1M in targeted lobbying, legal drafting + 3.2. **Form State-Level Coalition** + - **Tasks**: Convene local patient advocacy groups, healthcare associations, and legislators. + - **Time**: Overlaps with lobbying (3–6 months) + - **Cost**: \$100k–200k for events, workshops + - **Organizations**: NCSL, local chapters of American Medical Association + +--- + +## **PHASE 2: POLICY ACCELERATION & SCALE (18–36 months)** + +1. **Federal Law Advocacy** + 1.1. **Lobbying Campaign** + - **Tasks**: Educate Congress, build bipartisan support, draft legislative text expanding Right to Try & enabling decentralized trials. + - **Time**: 6–12 months + - **Cost**: \$50M–80M + - **Organizations**: Major lobbying firms (Brownstein Hyatt, Akin Gump), patient advocacy coalitions (American Cancer Society, etc.) + + 1.2. **Public Awareness Push** + - **Tasks**: National ad campaigns, social media, influencer endorsements emphasizing patient empowerment. + - **Time**: 6–12 months (overlapping with lobbying) + - **Cost**: \$20M–40M + - **Recommended Partners**: PR agencies like Edelman, Ogilvy + +2. **AI Agent Integration with Policy-Making** + 2.1. **Beta-Test AI with Regulators** + - **Tasks**: Deploy AI agent in limited scenarios with FDA, EMA, TGA for streamlined rulemaking. + - **Time**: 4–6 months + - **Cost**: \$2M–5M + - **Personnel**: AI specialists, government liaisons + 2.2. **Global Coordination** + - **Tasks**: Extend AI agent to negotiate cross-border data-sharing and reciprocal approvals with EMA, TGA, PMDA. + - **Time**: 6–12 months + - **Cost**: \$10M–20M (travel, legal harmonization, pilot cooperation) + +3. **Expansion of Pilot Trials & Infrastructure** + 3.1. **Scaling the Decentralized Platform** + - **Tasks**: Integrate additional disease areas (cardiology, neurology), ramp up patient recruitment. + - **Time**: Ongoing throughout Phase 2 + - **Cost**: \$50M–100M + - **Partners**: Hospitals, academic research centers worldwide + 3.2. **Validate Economic & Clinical Impact** + - **Tasks**: Gather cost-effectiveness data, health outcomes, patient satisfaction metrics to bolster legislative arguments. + - **Time**: 6–12 months of data analysis + - **Cost**: \$5M–10M + +--- + +## **PHASE 3: GLOBAL LAUNCH & PRIZE COMPETITION (36–60 months)** + +1. **Major Prize Launch** (\$200–300M) + 1.1. **Design Prize Criteria** + - **Tasks**: Reward solutions enabling frictionless cross-border trials, data privacy compliance, robust patient rights integration. + - **Time**: 2–3 months to finalize criteria + - **Cost**: \$500k–1M for administration + - **Organizations**: XPRIZE Foundation (could administer the competition), philanthropic consortia + + 1.2. **Marketing & Global Outreach** + - **Tasks**: Launch global media campaign, partner with WHO, large charities. + - **Time**: 6–12 months + - **Cost**: \$20M–30M (events, marketing, staff) + 1.3. **Evaluation & Award** + - **Tasks**: Independent judging panel from academic, regulatory, and patient communities. + - **Time**: 12–24 months to see final solutions tested + - **Cost**: \$200–300M prize pool (only awarded upon success) + +2. **AI Agent as Global Negotiator** + 2.1. **Full Deployment** + - **Tasks**: Make AI agent accessible to all governments, patient groups, and trial sponsors for real-time policy negotiation. + - **Time**: 12–24 months (overlapping with prize competition) + - **Cost**: \$30M–50M for scaling infrastructure, language expansions, 24/7 support + 2.2. **Institutionalize Governance** + - **Tasks**: Form an international oversight body to ensure AI ethics, safety, and fairness. + - **Time**: 6–12 months + - **Cost**: \$5M–10M + - **Suggested Entities**: WHO, a newly formed nonprofit (Global Cure Governance Council) + +3. **Finalizing Federal & Interstate Compact Integration** + 3.1. **Ratify Federal Legislation** + - **Tasks**: Ensure final passage of a bill mandating decentralized trials, broadening Right to Try, establishing import pathways. + - **Time**: Could align with end of the 5th year if momentum is strong + - **Cost**: Incorporated into earlier lobbying budgets + 3.2. **State Adoption** + - **Tasks**: Remaining states join the Cure Zone compact or default to federal law. + - **Time**: 12–18 months post-federal law + - **Cost**: \$10M–20M in additional outreach (if needed) + +--- + +## **PHASE 4: LONG-TERM SUSTAINABILITY (Year 5 Onward)** + +1. **Global Governance & Reciprocal Approvals** + 1.1. **Harmonize with EMA, TGA, PMDA** + - **Tasks**: Continued AI-led negotiations to unify approval processes. + - **Time**: Ongoing for years 5–10 + - **Cost**: \$5M–15M annually + +2. **Maintenance & Continuous Improvement** + 2.1. **Platform & AI Upgrades** + - **Tasks**: Regular software updates, new features (telehealth improvements, advanced analytics), cybersecurity. + - **Cost**: \$10M–20M/year + 2.2. **Ethics & Equity Initiatives** + - **Tasks**: Ensure global access for low-income regions, address bias in AI. + - **Cost**: \$5M–15M/year + - **Partners**: WHO, philanthropic organizations (Gates Foundation, PATH, UNICEF) + +3. **Ongoing Data Collection & Outcome Measurement** + 3.1. **Epidemiological & Cost-Savings Reports** + - **Tasks**: Publish annual updates on patient outcomes, cost reductions, new cures discovered. + - **Cost**: \$1M–2M/year (analysis, report publication) + 3.2. **Public Engagement** + - **Tasks**: Annual summits, open data portals for patients and researchers. + - **Cost**: \$2M–5M/year + +--- + +## **ESTIMATED GRAND TOTAL (5–8 Years)** + +- **Phase 0**: ~\$250k–350k +- **Phase 1**: ~\$20M–40M (pilot platform + AI MVP + preliminary lobbying) +- **Phase 2**: ~\$100M–200M (scaling platform, stronger lobbying, partial AI integration) +- **Phase 3**: ~\$250M–400M+ (prize pool, global AI rollout, final legislative push) +- **Phase 4**: \$10M–40M/year ongoing for governance, updates, expansions + +**Overall**: ~\$400M–\$700M+ through Year 5 (not including the Prize awards if we treat them as a separate fund). Long-term sustainability might add **\$20M–\$60M annually**. + +--- + +## **RECOMMENDED ORGANIZATIONS & PEOPLE** + +- **Philanthropy & Funding**: + - Gates Foundation, Chan Zuckerberg Initiative, Open Philanthropy, Wellcome Trust +- **Policy & Lobbying**: + - Major lobbying firms (Brownstein Hyatt, Akin Gump) + - Nonprofits (Patients Rising, Global Genes, American Cancer Society) +- **AI Development & Research**: + - OpenAI, Anthropic, Microsoft Research, Google DeepMind +- **Decentralized Trial Platforms**: + - Science 37, Medable, Curebase, THREAD +- **Legal & Regulatory Experts**: + - Hogan Lovells, Covington & Burling, Sidley Austin (Healthcare practices) + - Former FDA Commissioners (e.g., Scott Gottlieb as consultant) +- **Global Policy Bodies**: + - WHO, EMA, TGA, PMDA, National Conference of State Legislatures (NCSL) + +--- + +## **CONCLUSION** + +This **absurdly comprehensive** breakdown shows the **massive coordination** required—technically, politically, and financially—to build a **truly global** decentralized trial system with guaranteed patient rights. While the **numbers** and **timelines** are large, strategic partnerships, focused advocacy, a well-managed AI agent, and an eventual **prize competition** could unify stakeholders and **fast-track** a future where **everyone** has immediate access to life-saving treatments. \ No newline at end of file diff --git a/scripts/README.md b/scripts/README.md index 3f98e0e4..947933c3 100644 --- a/scripts/README.md +++ b/scripts/README.md @@ -35,3 +35,67 @@ Repository management automation scripts with AI-powered file organization. 2. Markdown URL rewriting 3. Image catalog generation 4. Local ↔ cloud validation + +# Database Backup Script + +This script creates a backup of a PostgreSQL database through an SSH tunnel. The backup is saved as a SQL dump file in the `backups` directory. + +## Prerequisites + +- Node.js installed +- `pg_dump` command-line tool installed +- SSH access to the remote server +- PostgreSQL database credentials + +## Installation + +1. Install the required dependencies: +```bash +npm install dotenv ssh2 +``` + +2. Copy `.env.example` to `.env` and fill in your configuration: +```bash +cp .env.example .env +``` + +3. Update the `.env` file with your actual credentials and configuration. + +## Usage + +Run the backup script: +```bash +node scripts/db-backup.js +``` + +The script will: +1. Create an SSH tunnel to the remote server +2. Execute pg_dump through the tunnel +3. Save the backup file in the `backups` directory with a timestamp + +## Backup File Format + +Backups are saved in the following format: +``` +backup-{database_name}-{timestamp}.sql +``` + +## Restoring a Backup + +To restore a backup to another PostgreSQL instance: + +```bash +psql -h {host} -U {username} -d {database} < backup-file.sql +``` + +## Environment Variables + +- `DB_HOST`: Database host on the remote server +- `DB_PORT`: Database port (default: 5432) +- `DB_NAME`: Database name +- `DB_USER`: Database username +- `DB_PASSWORD`: Database password +- `SSH_HOST`: SSH server hostname +- `SSH_USER`: SSH username +- `SSH_PORT`: SSH port (default: 22) +- `SSH_PRIVATE_KEY_PATH`: Path to your SSH private key file diff --git a/scripts/__tests__/fix_frontmatter_metadata.integration.test.js b/scripts/__tests__/fix_frontmatter_metadata.integration.test.js new file mode 100644 index 00000000..f8fc38b7 --- /dev/null +++ b/scripts/__tests__/fix_frontmatter_metadata.integration.test.js @@ -0,0 +1,110 @@ +const fs = require('fs').promises; +const path = require('path'); +const LLMClient = require('../llm-client'); +const { + FrontmatterGenerator, + findMarkdownFiles, +} = require('../fix_frontmatter_metadata'); + +describe('Frontmatter Metadata Integration Tests', () => { + let generator; + const testDir = path.resolve(__dirname, '../../fdai'); + + beforeAll(async () => { + // Use real LLM client + const llmClient = new LLMClient(); + generator = new FrontmatterGenerator(llmClient); + }); + + test('should find markdown files in fdai directory', async () => { + const files = await findMarkdownFiles(testDir); + expect(files.length).toBeGreaterThan(0); + console.log('Found files:', files); + }); + + test('should process a single file with real LLM client', async () => { + // Get first markdown file from fdai directory + const files = await findMarkdownFiles(testDir); + expect(files.length).toBeGreaterThan(0); + + const testFile = files[0]; + console.log('Testing with file:', testFile); + + // Make a backup of the file + const content = await fs.readFile(testFile, 'utf8'); + const backupPath = `${testFile}.backup`; + await fs.writeFile(backupPath, content); + + try { + // Process the file with real LLM client + const result = await generator.processFile(testFile); + console.log('Process result:', result); + + // Read the processed file + const processedContent = await fs.readFile(testFile, 'utf8'); + console.log('Processed content:', processedContent); + + // Verify the result + expect(result).toBeDefined(); + if (result.error) { + console.error('Processing error:', result.error); + } + + } finally { + // Restore the backup + await fs.copyFile(backupPath, testFile); + await fs.unlink(backupPath); + } + }); + + test('should process all files in fdai directory', async () => { + const files = await findMarkdownFiles(testDir); + expect(files.length).toBeGreaterThan(0); + + // Make backups of all files + const backups = await Promise.all(files.map(async file => { + const content = await fs.readFile(file, 'utf8'); + const backupPath = `${file}.backup`; + await fs.writeFile(backupPath, content); + return { file, backupPath }; + })); + + try { + // Process each file + const results = await Promise.all(files.map(async file => { + console.log('\nProcessing:', file); + const result = await generator.processFile(file); + console.log('Result:', result); + + if (result.error) { + console.error('Error processing file:', file); + console.error('Error details:', result.error); + } + + return { file, result }; + })); + + // Analyze results + const summary = results.reduce((acc, { file, result }) => { + acc.total++; + if (result.updated) acc.updated++; + if (result.error) acc.errors++; + return acc; + }, { total: 0, updated: 0, errors: 0 }); + + console.log('\nProcessing Summary:'); + console.log(`Total files: ${summary.total}`); + console.log(`Updated: ${summary.updated}`); + console.log(`Errors: ${summary.errors}`); + + expect(summary.total).toEqual(files.length); + + } finally { + // Restore all backups + await Promise.all(backups.map(async ({ file, backupPath }) => { + await fs.copyFile(backupPath, file); + await fs.unlink(backupPath); + })); + } + }); +}); \ No newline at end of file diff --git a/scripts/__tests__/fix_frontmatter_metadata.test.js b/scripts/__tests__/fix_frontmatter_metadata.test.js new file mode 100644 index 00000000..33c80282 --- /dev/null +++ b/scripts/__tests__/fix_frontmatter_metadata.test.js @@ -0,0 +1,140 @@ +const fs = require('fs').promises; +const path = require('path'); +const os = require('os'); +const { + FrontmatterSchema, + processFile, + generateFrontmatterObject, +} = require('../fix_frontmatter_metadata'); + +// Mock LLMClient +class MockLLMClient { + async analyzeLocation(_, prompt) { + return { + number: '41k', + textFollowingNumber: 'cost per participant in traditional clinical trials', + description: 'Analysis of the high costs in traditional clinical trials', + emoji: '💰', + title: 'Clinical Trial Costs Analysis', + tags: ['clinical-trials', 'costs', 'research'], + source: 'https://example.com/clinical-trials-cost' + }; + } +} + +describe('Frontmatter Metadata Tests', () => { + let tempDir; + let mockLLMClient; + + beforeEach(async () => { + // Create temp directory for test files + tempDir = await fs.mkdtemp(path.join(os.tmpdir(), 'frontmatter-test-')); + mockLLMClient = new MockLLMClient(); + }); + + afterEach(async () => { + // Cleanup temp directory + await fs.rm(tempDir, { recursive: true, force: true }); + }); + + test('FrontmatterSchema validates correct data', () => { + const validData = { + number: '41k', + textFollowingNumber: 'cost per participant in traditional clinical trials', + description: 'Test description', + emoji: '📊', + title: 'Test Title', + published: true, + date: new Date().toISOString(), + tags: ['test', 'validation'], + editor: 'markdown', + dateCreated: new Date().toISOString() + }; + + const result = FrontmatterSchema.safeParse(validData); + expect(result.success).toBe(true); + }); + + test('FrontmatterSchema catches invalid data', () => { + const invalidData = { + // Missing required fields + title: 'Test Title', + published: 'not-a-boolean', // Wrong type + date: 'not-a-date', // Invalid date format + }; + + const result = FrontmatterSchema.safeParse(invalidData); + expect(result.success).toBe(false); + expect(result.error).toBeDefined(); + }); + + test('generateFrontmatterObject returns valid metadata', async () => { + const content = `# Test Content + This is a test markdown file discussing the cost of $41k per participant + in clinical trials. [Source](https://example.com/clinical-trials-cost) + `; + + const result = await generateFrontmatterObject(content, mockLLMClient); + expect(result).toMatchObject({ + number: expect.any(String), + textFollowingNumber: expect.any(String), + description: expect.any(String), + emoji: expect.any(String), + title: expect.any(String), + tags: expect.any(Array) + }); + }); + + test('processFile handles valid markdown file', async () => { + const testFile = path.join(tempDir, 'test.md'); + const validContent = `--- +title: Test Title +description: Test description +emoji: 📊 +published: true +date: ${new Date().toISOString()} +dateCreated: ${new Date().toISOString()} +--- +# Test Content + `; + + await fs.writeFile(testFile, validContent); + await processFile(testFile, mockLLMClient); + + const processedContent = await fs.readFile(testFile, 'utf8'); + expect(processedContent).toContain('title: Test Title'); + }); + + test('processFile fixes invalid markdown file', async () => { + const testFile = path.join(tempDir, 'invalid.md'); + const invalidContent = `--- +title: Test Title +# Missing required fields +--- +# Test Content about clinical trials +The cost per participant is $41k in traditional trials. + `; + + await fs.writeFile(testFile, invalidContent); + await processFile(testFile, mockLLMClient); + + const processedContent = await fs.readFile(testFile, 'utf8'); + expect(processedContent).toContain('description:'); + expect(processedContent).toContain('emoji:'); + }); + + test('processFile handles files without frontmatter', async () => { + const testFile = path.join(tempDir, 'no-frontmatter.md'); + const content = `# Test Content +This is a markdown file without any frontmatter. + `; + + await fs.writeFile(testFile, content); + await processFile(testFile, mockLLMClient); + + const processedContent = await fs.readFile(testFile, 'utf8'); + expect(processedContent).toContain('---'); + expect(processedContent).toContain('title:'); + expect(processedContent).toContain('description:'); + }); +}); \ No newline at end of file diff --git a/scripts/cleanup-empty-folders.js b/scripts/cleanup-empty-folders.js new file mode 100644 index 00000000..faecba20 --- /dev/null +++ b/scripts/cleanup-empty-folders.js @@ -0,0 +1,58 @@ +const fs = require('fs'); +const path = require('path'); +const { shouldIgnore } = require('./shared-utilities'); + +async function deleteEmptyFolders(startPath) { + // Get list of files and directories in the current path + const items = fs.readdirSync(startPath); + let foldersDeleted = 0; + + for (const item of items) { + const fullPath = path.join(startPath, item); + + // Skip if path should be ignored + if (shouldIgnore(fullPath)) { + console.log(`Skipping ignored path: ${fullPath}`); + continue; + } + + // Check if it's a directory + if (fs.statSync(fullPath).isDirectory()) { + // Recursively process subdirectories first + foldersDeleted += await deleteEmptyFolders(fullPath); + + // After processing subdirectories, check if this directory is now empty + const remainingItems = fs.readdirSync(fullPath); + if (remainingItems.length === 0) { + try { + fs.rmdirSync(fullPath); + console.log(`✓ Deleted empty folder: ${fullPath}`); + foldersDeleted++; + } catch (error) { + console.error(`✗ Failed to delete folder ${fullPath}:`, error.message); + } + } else { + console.log(`Keeping non-empty folder: ${fullPath} (${remainingItems.length} items)`); + } + } + } + + return foldersDeleted; +} + +async function cleanup() { + try { + console.log('Starting empty folder cleanup...\n'); + const startPath = process.cwd(); + const deletedCount = await deleteEmptyFolders(startPath); + + console.log('\nCleanup completed!'); + console.log(`Total empty folders deleted: ${deletedCount}`); + } catch (error) { + console.error('Cleanup failed:', error); + process.exit(1); + } +} + +// Run the script +cleanup(); \ No newline at end of file diff --git a/scripts/db-backup.js b/scripts/db-backup.js new file mode 100644 index 00000000..adb789de --- /dev/null +++ b/scripts/db-backup.js @@ -0,0 +1,358 @@ +require('dotenv').config(); +const { Client: PgClient } = require('pg'); +const { Client: SshClient } = require('ssh2'); +const fs = require('fs'); +const path = require('path'); +const net = require('net'); + +// Validate required environment variables +const requiredEnvVars = [ + 'DB_HOST', + 'DB_PORT', + 'DB_NAME', + 'DB_USER', + 'DB_PASSWORD', + 'SSH_HOST', + 'SSH_USER', + 'SSH_PRIVATE_KEY_PATH' +]; + +const missingEnvVars = requiredEnvVars.filter(varName => !process.env[varName]); +if (missingEnvVars.length > 0) { + console.error('Error: Missing required environment variables:'); + missingEnvVars.forEach(varName => console.error(`- ${varName}`)); + console.error('\nPlease make sure these variables are set in your .env file'); + process.exit(1); +} + +// Environment variables +const { + DB_HOST, + DB_PORT, + DB_NAME, + DB_USER, + DB_PASSWORD, + SSH_HOST, + SSH_USER, + SSH_PORT = '22', + SSH_PRIVATE_KEY_PATH, +} = process.env; + +// Validate SSH private key exists +if (!fs.existsSync(SSH_PRIVATE_KEY_PATH)) { + console.error(`Error: SSH private key file not found at: ${SSH_PRIVATE_KEY_PATH}`); + process.exit(1); +} + +// Create backups directory if it doesn't exist +const backupDir = path.join(__dirname, '../backups'); +if (!fs.existsSync(backupDir)) { + fs.mkdirSync(backupDir); +} + +const timestamp = new Date().toISOString().replace(/[:.]/g, '-'); +const backupFileName = `backup-${DB_NAME}-${timestamp}.sql`; +const backupPath = path.join(backupDir, backupFileName); + +// Function to create SSH tunnel +async function createSSHTunnel() { + const ssh = new SshClient(); + + return new Promise((resolve, reject) => { + ssh.on('ready', () => { + console.log('SSH connection established successfully'); + console.log(`Will forward local port to remote database at ${DB_HOST}:${DB_PORT}`); + + const server = net.createServer((socket) => { + ssh.forwardOut( + socket.remoteAddress, + socket.remotePort, + DB_HOST, + parseInt(DB_PORT), + (err, stream) => { + if (err) { + console.error('Port forwarding error:', err); + socket.end(); + return; + } + socket.pipe(stream).pipe(socket); + } + ); + }); + + // Listen on a random port assigned by the OS + server.listen(0, '127.0.0.1', () => { + const localPort = server.address().port; + console.log(`SSH tunnel established: 127.0.0.1:${localPort} -> ${DB_HOST}:${DB_PORT}`); + resolve({ ssh, localPort, server }); + }); + }); + + ssh.on('error', (err) => { + console.error('SSH connection error:', err); + reject(err); + }); + + console.log(`Connecting to SSH server ${SSH_HOST}:${SSH_PORT} as ${SSH_USER}`); + console.log('Using private key from:', SSH_PRIVATE_KEY_PATH); + + try { + const privateKey = fs.readFileSync(SSH_PRIVATE_KEY_PATH, 'utf8'); + ssh.connect({ + host: SSH_HOST, + port: parseInt(SSH_PORT), + username: SSH_USER, + privateKey: privateKey, + debug: true, + }); + } catch (err) { + console.error('Error reading private key:', err); + reject(err); + } + }); +} + +async function getTableNames(client) { + const query = ` + SELECT tablename + FROM pg_tables + WHERE schemaname = 'public' + `; + const result = await client.query(query); + return result.rows.map(row => row.tablename); +} + +async function getTableSchema(client, tableName) { + // Get column definitions + const columnsQuery = ` + SELECT column_name, data_type, character_maximum_length, column_default, is_nullable + FROM information_schema.columns + WHERE table_name = $1 + ORDER BY ordinal_position; + `; + const columns = await client.query(columnsQuery, [tableName]); + + // Get primary key constraints + const pkQuery = ` + SELECT c.column_name + FROM information_schema.table_constraints tc + JOIN information_schema.constraint_column_usage AS ccu USING (constraint_schema, constraint_name) + JOIN information_schema.columns AS c ON c.table_schema = tc.constraint_schema + AND tc.table_name = c.table_name AND ccu.column_name = c.column_name + WHERE constraint_type = 'PRIMARY KEY' AND tc.table_name = $1; + `; + const pks = await client.query(pkQuery, [tableName]); + + // Get foreign key constraints + const fkQuery = ` + SELECT + kcu.column_name, + ccu.table_name AS foreign_table_name, + ccu.column_name AS foreign_column_name + FROM information_schema.table_constraints AS tc + JOIN information_schema.key_column_usage AS kcu + ON tc.constraint_name = kcu.constraint_name + AND tc.table_schema = kcu.table_schema + JOIN information_schema.constraint_column_usage AS ccu + ON ccu.constraint_name = tc.constraint_name + AND ccu.table_schema = tc.table_schema + WHERE tc.constraint_type = 'FOREIGN KEY' AND tc.table_name = $1; + `; + const fks = await client.query(fkQuery, [tableName]); + + // Get indexes + const indexQuery = ` + SELECT indexname, indexdef + FROM pg_indexes + WHERE tablename = $1; + `; + const indexes = await client.query(indexQuery, [tableName]); + + return { + columns: columns.rows, + primaryKeys: pks.rows, + foreignKeys: fks.rows, + indexes: indexes.rows + }; +} + +async function generateCreateTableStatement(client, tableName, schema) { + let sql = `CREATE TABLE IF NOT EXISTS "${tableName}" (\n`; + + // Add columns + const columnDefs = schema.columns.map(col => { + let def = ` "${col.column_name}" ${col.data_type}`; + if (col.character_maximum_length) { + def += `(${col.character_maximum_length})`; + } + if (col.column_default) { + def += ` DEFAULT ${col.column_default}`; + } + if (col.is_nullable === 'NO') { + def += ' NOT NULL'; + } + return def; + }); + + // Add primary key constraint + if (schema.primaryKeys.length > 0) { + const pkColumns = schema.primaryKeys.map(pk => `"${pk.column_name}"`).join(', '); + columnDefs.push(` PRIMARY KEY (${pkColumns})`); + } + + // Add foreign key constraints + schema.foreignKeys.forEach(fk => { + columnDefs.push( + ` FOREIGN KEY ("${fk.column_name}") REFERENCES "${fk.foreign_table_name}" ("${fk.foreign_column_name}")` + ); + }); + + sql += columnDefs.join(',\n'); + sql += '\n);\n\n'; + + // Add indexes + schema.indexes.forEach(index => { + if (!index.indexdef.includes('PRIMARY KEY')) { + sql += `${index.indexdef};\n`; + } + }); + + return sql; +} + +async function backupDatabase(localPort) { + // When using an SSH tunnel, we always connect to the tunnel's local endpoint + const connectionConfig = { + host: '127.0.0.1', // Use 127.0.0.1 explicitly instead of localhost + port: localPort, + database: DB_NAME, + user: DB_USER, + password: DB_PASSWORD, + ssl: false, + keepAlive: true, + connectionTimeoutMillis: 5000 + }; + + console.log('\nDatabase connection details:'); + console.log('- Connecting through SSH tunnel at:', `${connectionConfig.host}:${connectionConfig.port}`); + console.log('- Target database:', DB_NAME); + console.log('- Database user:', DB_USER); + console.log('- Password length:', DB_PASSWORD.length, 'characters'); + console.log('- SSL:', connectionConfig.ssl); + console.log('- Timeout:', connectionConfig.connectionTimeoutMillis, 'ms'); + + const client = new PgClient(connectionConfig); + + // Add error handler for client + client.on('error', (err) => { + console.error('PostgreSQL client error:', err); + }); + + try { + console.log('\nEstablishing database connection...'); + await client.connect(); + console.log('Successfully connected to database'); + const writeStream = fs.createWriteStream(backupPath); + + // Write initial comments and settings + writeStream.write('-- Database backup generated by Node.js backup script\n'); + writeStream.write(`-- Timestamp: ${new Date().toISOString()}\n\n`); + writeStream.write('SET statement_timeout = 0;\n'); + writeStream.write('SET lock_timeout = 0;\n'); + writeStream.write('SET client_encoding = \'UTF8\';\n'); + writeStream.write('SET standard_conforming_strings = on;\n\n'); + + // Get all tables + const tables = await getTableNames(client); + + // Process each table + for (const tableName of tables) { + console.log(`Processing table: ${tableName}`); + + // Get table schema and generate CREATE TABLE statement + const schema = await getTableSchema(client, tableName); + const createTableSql = await generateCreateTableStatement(client, tableName, schema); + writeStream.write(`-- Table: ${tableName}\n`); + writeStream.write(`DROP TABLE IF EXISTS "${tableName}" CASCADE;\n`); + writeStream.write(createTableSql); + + // Get table data + const result = await client.query(`SELECT * FROM "${tableName}"`); + if (result.rows.length > 0) { + writeStream.write(`-- Data for table: ${tableName}\n`); + for (const row of result.rows) { + const columns = Object.keys(row).map(key => `"${key}"`).join(', '); + const values = Object.values(row).map(value => + value === null ? 'NULL' : + typeof value === 'string' ? `'${value.replace(/'/g, "''")}'` : + value instanceof Date ? `'${value.toISOString()}'` : + value + ).join(', '); + + writeStream.write(`INSERT INTO "${tableName}" (${columns}) VALUES (${values});\n`); + } + writeStream.write('\n'); + } + } + + writeStream.end(); + await new Promise((resolve) => writeStream.on('finish', resolve)); + return backupPath; + } catch (error) { + console.error('Database connection/backup error:'); + console.error('- Error name:', error.name); + console.error('- Error message:', error.message); + console.error('- Error code:', error.code); + console.error('- Error severity:', error.severity); + console.error('- Error file:', error.file); + console.error('- Error line:', error.line); + console.error('- Error routine:', error.routine); + if (error.hint) console.error('- Error hint:', error.hint); + throw error; + } finally { + console.log('Closing database connection...'); + await client.end(); + } +} + +// Main function +async function main() { + let sshClient; + let tunnelStream; + + try { + console.log('Environment check:'); + console.log('- DB_HOST:', DB_HOST); + console.log('- DB_PORT:', DB_PORT); + console.log('- DB_NAME:', DB_NAME); + console.log('- DB_USER:', DB_USER); + console.log('- SSH_HOST:', SSH_HOST); + console.log('- SSH_USER:', SSH_USER); + console.log('- SSH_PORT:', SSH_PORT); + console.log('- SSH_PRIVATE_KEY_PATH exists:', fs.existsSync(SSH_PRIVATE_KEY_PATH)); + + console.log('\nCreating SSH tunnel...'); + const { ssh, localPort, server } = await createSSHTunnel(); + sshClient = ssh; + tunnelStream = server; + + console.log('\nStarting database backup...'); + await backupDatabase(localPort); + console.log(`\nBackup completed successfully! File saved to: ${backupPath}`); + + } catch (error) { + console.error('\nError during backup process:'); + console.error(error); + process.exit(1); + } finally { + if (tunnelStream) { + tunnelStream.end(); + } + if (sshClient) { + console.log('Closing SSH connection...'); + sshClient.end(); + } + } +} + +main(); \ No newline at end of file diff --git a/scripts/db-restore.js b/scripts/db-restore.js new file mode 100644 index 00000000..f49d166f --- /dev/null +++ b/scripts/db-restore.js @@ -0,0 +1,258 @@ +/** + * Script to restore a PostgreSQL database backup to a target server using the node-postgres package. + * + * Usage: + * node scripts/db-restore.js [path/to/backup-file.sql] + * + * If no backup file is provided, the script will use the most recent .sql file + * in the ../backups directory. + * + * If the environment variables RESTORE_SSH_HOST, RESTORE_SSH_USER, and + * RESTORE_SSH_PRIVATE_KEY_PATH are present, an SSH tunnel will be created. + * Otherwise, the restore process connects directly. + * + * Required environment variables for database connection: + * RESTORE_DB_HOST + * RESTORE_DB_PORT + * RESTORE_DB_NAME + * RESTORE_DB_USER + * RESTORE_DB_PASSWORD + * + * Optional SSH tunneling environment variables: + * RESTORE_SSH_HOST + * RESTORE_SSH_USER + * RESTORE_SSH_PRIVATE_KEY_PATH + * RESTORE_SSH_PORT (defaults to 22) + * + * This script uses the "pg" Node package (declared in package.json) instead of spawning the "psql" command. + */ + +require('dotenv').config(); +const { Client: SshClient } = require('ssh2'); +const fs = require('fs'); +const net = require('net'); +const path = require('path'); +const { spawnSync } = require('child_process'); + +// Check required environment variables for the database connection +const requiredDbEnvVars = [ + 'RESTORE_DB_HOST', + 'RESTORE_DB_PORT', + 'RESTORE_DB_NAME', + 'RESTORE_DB_USER', + 'RESTORE_DB_PASSWORD' +]; +const missingDbEnvVars = requiredDbEnvVars.filter(v => !process.env[v]); +if (missingDbEnvVars.length > 0) { + console.error('Error: Missing required database environment variables:'); + missingDbEnvVars.forEach(v => console.error(`- ${v}`)); + process.exit(1); +} + +// Determine if SSH tunnel should be used (if SSH env vars are set) +const useSshTunnel = + process.env.RESTORE_SSH_HOST && + process.env.RESTORE_SSH_USER && + process.env.RESTORE_SSH_PRIVATE_KEY_PATH; + +if (useSshTunnel) { + console.log('SSH tunnel variables detected. Restoring via an SSH tunnel.'); +} else { + console.log('No SSH tunnel variables detected. Restoring directly.'); +} + +const { + RESTORE_DB_HOST, + RESTORE_DB_PORT, + RESTORE_DB_NAME, + RESTORE_DB_USER, + RESTORE_DB_PASSWORD +} = process.env; + +const RESTORE_SSH_HOST = process.env.RESTORE_SSH_HOST; +const RESTORE_SSH_USER = process.env.RESTORE_SSH_USER; +const RESTORE_SSH_PRIVATE_KEY_PATH = process.env.RESTORE_SSH_PRIVATE_KEY_PATH; +const RESTORE_SSH_PORT = process.env.RESTORE_SSH_PORT || '22'; + +// Determine backup file path. +// If a file is provided as a command-line argument, use it. +// Otherwise, search ../backups for the most recent .sql file. +let backupFilePath; +if (process.argv[2]) { + backupFilePath = path.resolve(process.argv[2]); + if (!fs.existsSync(backupFilePath)) { + console.error(`Backup file not found: ${backupFilePath}`); + process.exit(1); + } +} else { + const backupDir = path.join(__dirname, '../backups'); + if (!fs.existsSync(backupDir)) { + console.error(`Backup directory not found: ${backupDir}`); + process.exit(1); + } + const files = fs.readdirSync(backupDir) + .filter(file => file.endsWith('.sql')) + .map(file => path.join(backupDir, file)); + + if (files.length === 0) { + console.error(`No backup files found in directory: ${backupDir}`); + process.exit(1); + } + // Sort files by modification time in descending order (newest first) + files.sort((a, b) => fs.statSync(b).mtime - fs.statSync(a).mtime); + backupFilePath = files[0]; + console.log(`No backup file provided. Using the most recent file: ${backupFilePath}`); +} + +/** + * Creates an SSH tunnel to the target restore database. + * Returns a promise resolving to an object containing the SSH client, localPort, and the tunnel server. + */ +async function createSSHTunnel() { + const ssh = new SshClient(); + return new Promise((resolve, reject) => { + ssh.on('ready', () => { + console.log('SSH connection established successfully'); + console.log(`Forwarding local port to remote restore DB at ${RESTORE_DB_HOST}:${RESTORE_DB_PORT}`); + const server = net.createServer((socket) => { + ssh.forwardOut( + socket.remoteAddress, + socket.remotePort, + RESTORE_DB_HOST, + parseInt(RESTORE_DB_PORT, 10), + (err, stream) => { + if (err) { + console.error('Port forwarding error:', err); + socket.end(); + return; + } + socket.pipe(stream).pipe(socket); + } + ); + }); + server.listen(0, '127.0.0.1', () => { + const localPort = server.address().port; + console.log(`SSH tunnel established: 127.0.0.1:${localPort} -> ${RESTORE_DB_HOST}:${RESTORE_DB_PORT}`); + resolve({ ssh, localPort, server }); + }); + }); + ssh.on('error', (err) => { + console.error('SSH connection error:', err); + reject(err); + }); + console.log(`Connecting to SSH server ${RESTORE_SSH_HOST}:${RESTORE_SSH_PORT} as ${RESTORE_SSH_USER}`); + console.log('Using private key from:', RESTORE_SSH_PRIVATE_KEY_PATH); + let privateKey; + try { + privateKey = fs.readFileSync(RESTORE_SSH_PRIVATE_KEY_PATH, 'utf8'); + } catch (err) { + console.error('Error reading private key:', err); + return reject(err); + } + ssh.connect({ + host: RESTORE_SSH_HOST, + port: parseInt(RESTORE_SSH_PORT, 10), + username: RESTORE_SSH_USER, + privateKey: privateKey + }); + }); +} + +/** + * Main function to restore backup via psql CLI + */ +async function main() { + let sshClient, tunnelServer; + let connectionHost = RESTORE_DB_HOST; + let connectionPort = RESTORE_DB_PORT; + + try { + console.log('Starting restore process...'); + + if (useSshTunnel) { + const { ssh, localPort, server } = await createSSHTunnel(); + sshClient = ssh; + tunnelServer = server; + connectionHost = '127.0.0.1'; + connectionPort = localPort.toString(); + } + + console.log('\nDatabase restore connection details:'); + console.log(`- Host: ${connectionHost}`); + console.log(`- Port: ${connectionPort}`); + console.log(`- Target restore DB: ${RESTORE_DB_NAME}`); + console.log(`- DB user: ${RESTORE_DB_USER}`); + console.log(`- Backup file: ${backupFilePath}`); + + // Set up environment for psql command + const env = { + ...process.env, + PGPASSWORD: RESTORE_DB_PASSWORD, + PGSSLMODE: 'prefer' // Changed from 'require' to handle servers without SSL + }; + + // Cleanup commands + const cleanupCommands = [ + //'DROP SCHEMA IF EXISTS public CASCADE;', + //'CREATE SCHEMA public;', + `GRANT ALL ON SCHEMA public TO ${RESTORE_DB_USER};`, + 'GRANT ALL ON SCHEMA public TO public;' + ].join(' '); + + // Run database cleanup + console.log('Cleaning existing database objects...'); + const cleanupArgs = [ + '-U', RESTORE_DB_USER, + '-h', connectionHost, + '-p', connectionPort, + '-d', RESTORE_DB_NAME, + '-c', cleanupCommands + ]; + + const cleanupResult = spawnSync('psql', cleanupArgs, { + stdio: 'pipe', // Changed from 'inherit' to capture output + env + }); + + // Add error output inspection + if (cleanupResult.status !== 0) { + console.error('\nCleanup failed with error:'); + console.error('STDOUT:', cleanupResult.stdout?.toString()); + console.error('STDERR:', cleanupResult.stderr?.toString()); + throw new Error('Database cleanup failed'); + } + + // Execute the backup file + console.log('Starting restoration...'); + const restoreArgs = [ + '-U', RESTORE_DB_USER, + '-h', connectionHost, + '-p', connectionPort, + '-d', RESTORE_DB_NAME, + '-f', backupFilePath + ]; + + const restoreResult = spawnSync('psql', restoreArgs, { stdio: 'inherit', env }); + if (restoreResult.status !== 0) { + throw new Error('Restore process failed'); + } + + console.log('Database restore completed successfully.'); + + } catch (error) { + console.error('\nError during restore process:'); + console.error(error); + process.exit(1); + } finally { + if (tunnelServer) { + tunnelServer.close(); + console.log('SSH tunnel server closed.'); + } + if (sshClient) { + sshClient.end(); + console.log('SSH connection closed.'); + } + } +} + +main(); \ No newline at end of file diff --git a/scripts/fix_frontmatter_metadata.js b/scripts/fix_frontmatter_metadata.js new file mode 100644 index 00000000..209c296c --- /dev/null +++ b/scripts/fix_frontmatter_metadata.js @@ -0,0 +1,199 @@ +const fs = require('fs').promises; +const path = require('path'); +const matter = require('gray-matter'); +const { z } = require('zod'); +const LLMClient = require('./llm-client'); +require('dotenv').config(); + +// Define the frontmatter schema +const FrontmatterSchema = z.object({ + description: z.string() + .describe('A clear, concise description'), + emoji: z.string() + .describe('A single relevant emoji'), + title: z.string() + .describe('A descriptive title'), + published: z.boolean() + .default(true) + .describe('Whether the content is published, defaults to true'), + date: z.string() + .datetime() + .optional() + .describe('Current date in ISO format'), + tags: z.array(z.string()) + .default([]) + .describe('Array of relevant topic tags'), + editor: z.string() + .default('markdown') + .describe('Editor type, defaults to markdown'), + dateCreated: z.string() + .datetime() + .optional() + .describe('Creation date in ISO format'), +}); + +class FrontmatterGenerator { + constructor(llmClient) { + this.llmClient = llmClient; + } + + async generateFrontmatter(content, filePath) { + const systemPrompt = `You are a helpful assistant for analyzing markdown content and generating frontmatter metadata. +Your task is to analyze the content and generate appropriate frontmatter fields. +Always return a complete JSON object with all required fields based on the content. +Make sure to include all mandatory fields (title, description, emoji) and any optional fields that are relevant to the content. + +Example response format: +{ + "description": "Analysis of clinical trial costs showing $41k per participant", + "emoji": "💰", + "title": "Clinical Trial Cost Analysis", + "number": "41k", + "textFollowingNumber": "cost per participant in clinical trials", + "tags": ["clinical-trials", "costs", "research"], + "published": true, + "editor": "markdown" +}`; + + const userContent = `Given this markdown content, generate appropriate frontmatter metadata: + +Content: +${content.substring(0, 1000)} // Limit content length for token efficiency`; + + try { + const response = await this.llmClient.complete(systemPrompt, userContent); + const result = JSON.parse(response); + + // Ensure required fields are present + return { + ...result, + published: result.published ?? true, + editor: result.editor || 'markdown', + date: result.date || new Date().toISOString(), + dateCreated: result.dateCreated || new Date().toISOString(), + tags: result.tags || [] + }; + } catch (error) { + throw new Error(`Failed to generate frontmatter: ${error.message}`); + } + } + + async processFile(filePath) { + const content = await fs.readFile(filePath, 'utf8'); + const { data: frontmatter, content: markdownContent } = matter(content); + + try { + const validationResult = FrontmatterSchema.safeParse(frontmatter); + + if (!validationResult.success) { + console.log(`Invalid frontmatter:`, validationResult.error.errors); + + const generatedFrontmatter = await this.generateFrontmatter(markdownContent, filePath); + + if (!generatedFrontmatter) { + console.error('Failed to generate frontmatter metadata'); + return { updated: false, error: new Error('Failed to generate frontmatter metadata') }; + } + + const updatedFrontmatter = { + ...frontmatter, + ...generatedFrontmatter, + published: frontmatter.published ?? true, + editor: frontmatter.editor || 'markdown', + date: frontmatter.date || new Date().toISOString(), + dateCreated: frontmatter.dateCreated || new Date().toISOString(), + }; + + const finalValidation = FrontmatterSchema.safeParse(updatedFrontmatter); + if (finalValidation.success) { + const updatedContent = matter.stringify(markdownContent, updatedFrontmatter); + await fs.writeFile(filePath, updatedContent); + console.log(`✅ Updated frontmatter`); + return { updated: true }; + } else { + console.error(`❌ Failed to fix frontmatter:`, finalValidation.error); + return { updated: false, error: finalValidation.error }; + } + } else { + console.log(`✅ Valid frontmatter`); + return { updated: false }; + } + } catch (error) { + console.error(`Error processing file:`, error); + return { updated: false, error }; + } + } +} + +async function findMarkdownFiles(dir) { + const files = await fs.readdir(dir, { withFileTypes: true }); + let markdownFiles = []; + + for (const file of files) { + const fullPath = path.join(dir, file.name); + if (file.isDirectory()) { + markdownFiles = markdownFiles.concat(await findMarkdownFiles(fullPath)); + } else if (file.name.endsWith('.md')) { + markdownFiles.push(fullPath); + } + } + + return markdownFiles; +} + +async function main() { + try { + const llmClient = new LLMClient(); + const generator = new FrontmatterGenerator(llmClient); + + // Get directory from command line args or use default + const targetDir = process.argv[2] || path.resolve(__dirname, '..'); + const absoluteTargetDir = path.resolve(targetDir); + + console.log(`Scanning directory: ${absoluteTargetDir}`); + const markdownFiles = await findMarkdownFiles(absoluteTargetDir); + + console.log(`Found ${markdownFiles.length} markdown files`); + + // Add a confirmation prompt + if (markdownFiles.length > 0) { + console.log('\nFiles to process:'); + markdownFiles.forEach(file => console.log(`- ${path.relative(absoluteTargetDir, file)}`)); + + // In non-test mode, wait for confirmation + if (process.env.NODE_ENV !== 'test') { + console.log('\nPress Ctrl+C to cancel or wait 5 seconds to continue...'); + await new Promise(resolve => setTimeout(resolve, 5000)); + } + } + + let processed = 0; + let updated = 0; + + for (const file of markdownFiles) { + processed++; + const relativePath = path.relative(absoluteTargetDir, file); + console.log(`\n[${processed}/${markdownFiles.length}] Processing ${relativePath}...`); + + const result = await generator.processFile(file); + if (result?.updated) { + updated++; + } + } + + console.log(`\n✅ Completed! Processed ${processed} files, updated ${updated} files.`); + } catch (error) { + console.error('Error:', error); + process.exit(1); + } +} + +if (require.main === module) { + main(); +} + +module.exports = { + FrontmatterSchema, + FrontmatterGenerator, + findMarkdownFiles +}; \ No newline at end of file diff --git a/scripts/llm-client.js b/scripts/llm-client.js index 7c6db9ef..63e52ad7 100644 --- a/scripts/llm-client.js +++ b/scripts/llm-client.js @@ -1,5 +1,4 @@ const { OpenAI } = require('openai'); -const structure = require('./config/structure'); class LLMClient { constructor() { @@ -7,10 +6,6 @@ class LLMClient { if (!apiKey) { throw new Error('DASHSCOPE_API_KEY environment variable is not set'); } - - if (!structure || typeof structure !== 'object' || Object.keys(structure).length === 0) { - throw new Error('Repository structure configuration is invalid or empty'); - } this.openai = new OpenAI({ baseURL: 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1', @@ -18,114 +13,32 @@ class LLMClient { }); } - async analyzeLocation(filePath, content, options = {}) { - if (!filePath) { - throw new Error('File path is required'); - } - if (!content) { - throw new Error('Content is required'); - } - + async complete(systemPrompt, userContent, options = {}) { const { - maxContentLength = 1000, model = 'qwen-plus', + temperature = 0.3, + responseFormat = { type: "json_object" } } = options; - if (!model) { - throw new Error('Model name is required'); - } - - const prompt = this.createAnalysisPrompt(filePath, content.substring(0, maxContentLength)); - try { const completion = await this.openai.chat.completions.create({ model, messages: [ - { - role: "system", - content: "You are a helpful assistant for analyzing file locations and content. " + - "Only use existing directory paths from the structure configuration - " + - "NEVER invent new paths or categories. " + - "Always select the MOST SPECIFIC valid subdirectory. " + - "Top-level categories (like 'analytics') are NOT valid targets - " + - "you must choose a subdirectory from the structure." - }, - { role: "user", content: prompt } + { role: "system", content: systemPrompt }, + { role: "user", content: userContent } ], - temperature: 0.3, - response_format: { type: "json_object" } + temperature, + response_format: responseFormat }); if (!completion?.choices?.[0]?.message?.content) { throw new Error('Invalid or empty response from AI service'); } - const result = JSON.parse(completion.choices[0].message.content); - this.validateTargetDirectory(result.targetDirectory); - return result; + return completion.choices[0].message.content; } catch (error) { - throw new Error(`AI analysis failed: ${error.message}`); - } - } - - validateTargetDirectory(targetPath) { - console.log('Validating target path:', targetPath); - - // Add check for top-level category - if (targetPath.split('/').filter(p => p).length < 2) { - throw new Error(`Path must include category and subdirectory (e.g. analytics/predictive-models). Received: ${targetPath}`); - } - - const normalizedPath = targetPath.replace(/^\/+|\/+$/g, ''); - const pathParts = normalizedPath.split('/'); - let currentLevel = structure; - - console.log('Path parts:', pathParts); - - for (const [index, part] of pathParts.entries()) { - console.log(`Checking level ${index + 1}: '${part}' in`, currentLevel); - - // Handle array-based categories - if (Array.isArray(currentLevel)) { - if (!currentLevel.includes(part)) { - throw new Error(`'${part}' not found in array ${JSON.stringify(currentLevel)}`); - } - currentLevel = structure[part] || currentLevel; - } else { - if (!currentLevel[part] && !Object.values(currentLevel).includes(part)) { - throw new Error(`'${part}' not found in structure level`); - } - currentLevel = currentLevel[part] || structure[part]; - } - - // Additional debug for analytics category - if (part === 'analytics') { - console.log('Full analytics structure:', JSON.stringify(structure.analytics, null, 2)); - } - } - } - - createAnalysisPrompt(filePath, content) { - return `Given this EXACT repository structure: - ${JSON.stringify(structure, null, 2)} - - File path: ${filePath} - Content preview: ${content} - - Respond in JSON format: { - "targetDirectory": "CATEGORY/SUBDIRECTORY", - "confidence": 1-5, - "reason": "brief explanation", - "action": "move|delete|flag", - "priority": 1-5 + throw new Error(`AI completion failed: ${error.message}`); } - - RULES: - 1. ALWAYS format targetDirectory as CATEGORY/SUBDIRECTORY - 2. Categories must be top-level (e.g. analytics) - 3. Subdirectories must exist under category - 4. If in correct location but wrong subdir: MOVE - 5. If already in correct subdir: FLAG for review`; } } diff --git a/scripts/move-images.js b/scripts/move-images.js new file mode 100644 index 00000000..538eca16 --- /dev/null +++ b/scripts/move-images.js @@ -0,0 +1,123 @@ +const fs = require('fs'); +const path = require('path'); +const { getAllFiles } = require('./shared-utilities'); + +const IMAGE_EXTENSIONS = ['.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp', '.PNG', '.JPG', '.JPEG', '.GIF', '.SVG', '.WEBP']; +const TARGET_DIR = 'assets/images'; + +async function moveImages() { + try { + // Create target directory if it doesn't exist + const targetDir = path.join(process.cwd(), TARGET_DIR); + if (!fs.existsSync(targetDir)) { + fs.mkdirSync(targetDir, { recursive: true }); + } + + // Get all image files + const files = await getAllFiles(process.cwd(), IMAGE_EXTENSIONS); + console.log(`Found ${files.length} image files`); + + // Filter out files already in assets folder + const filesToMove = files.filter(file => !file.includes('assets')); + console.log(`${filesToMove.length} images need to be moved`); + + if (filesToMove.length === 0) { + console.log('No images to move!'); + return; + } + + // Track file moves for updating references later + const moves = []; + + // Move each file + for (const file of filesToMove) { + const fileName = path.basename(file); + const targetPath = path.join(targetDir, fileName); + + // Handle filename conflicts + let finalTargetPath = targetPath; + let counter = 1; + while (fs.existsSync(finalTargetPath)) { + const ext = path.extname(fileName); + const base = path.basename(fileName, ext); + finalTargetPath = path.join(targetDir, `${base}_${counter}${ext}`); + counter++; + } + + try { + // Move the file + fs.renameSync(file, finalTargetPath); + moves.push({ + from: file, + to: finalTargetPath, + success: true + }); + console.log(`✓ Moved ${file} to ${finalTargetPath}`); + } catch (error) { + console.error(`✗ Failed to move ${file}:`, error.message); + moves.push({ + from: file, + to: finalTargetPath, + success: false, + error: error.message + }); + } + } + + // Update references in markdown and HTML files + console.log('\nUpdating references in files...'); + const docsFiles = await getAllFiles(process.cwd(), ['.md', '.html']); + + for (const file of docsFiles) { + let content = fs.readFileSync(file, 'utf8'); + let contentChanged = false; + + moves.forEach(move => { + if (!move.success) return; + + // Convert paths to relative format for replacement + const fromRelative = path.relative(path.dirname(file), move.from).replace(/\\/g, '/'); + const toRelative = path.relative(path.dirname(file), move.to).replace(/\\/g, '/'); + + // Update markdown image references + const mdPattern = new RegExp(`!\\[([^\\]]*)\\]\\(${escapeRegExp(fromRelative)}\\)`, 'g'); + const newContent = content.replace(mdPattern, `![$1](${toRelative})`); + if (newContent !== content) { + content = newContent; + contentChanged = true; + } + + // Update HTML image references + const htmlPattern = new RegExp(`]*)src=["']${escapeRegExp(fromRelative)}["']([^>]*)>`, 'g'); + const newContent2 = content.replace(htmlPattern, ``); + if (newContent2 !== content) { + content = newContent2; + contentChanged = true; + } + }); + + if (contentChanged) { + fs.writeFileSync(file, content, 'utf8'); + console.log(`✓ Updated references in ${file}`); + } + } + + // Print summary + console.log('\nSummary:'); + console.log(`Total images found: ${files.length}`); + console.log(`Images moved: ${moves.filter(m => m.success).length}`); + console.log(`Failed moves: ${moves.filter(m => !m.success).length}`); + + } catch (error) { + console.error('Processing failed:', error); + process.exit(1); + } +} + +// Helper function to escape special characters in regex +function escapeRegExp(string) { + return string.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); +} + +// Run the script +moveImages(); \ No newline at end of file diff --git a/scripts/process-images.js b/scripts/process-images.js deleted file mode 100644 index 73f76b2f..00000000 --- a/scripts/process-images.js +++ /dev/null @@ -1,286 +0,0 @@ -require('dotenv').config(); -const fs = require('fs'); -const path = require('path'); -const mime = require('mime-types'); -const { S3Client, PutObjectCommand, ListObjectsV2Command } = require('@aws-sdk/client-s3'); -const { newStructure, shouldIgnore, getAllFiles } = require('./shared-utilities'); - -// Initialize S3 client -const s3Client = new S3Client({ - region: process.env.AWS_REGION, - credentials: { - accessKeyId: process.env.AWS_ACCESS_KEY_ID, - secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, - } -}); - -// Get configuration from environment variables -const S3_AWS_BUCKET = process.env.S3_AWS_BUCKET; -const IMAGE_DIR = process.env.IMAGE_DIR || 'img'; - -// Path for the image catalog -const IMAGE_CATALOG_PATH = 'docs/assets/image-catalog.json'; - -// Add this validation function near the top of the file -function validateEnvironment() { - const requiredVars = [ - 'AWS_ACCESS_KEY_ID', - 'AWS_SECRET_ACCESS_KEY', - 'AWS_REGION', - 'S3_AWS_BUCKET', - 'S3_PUBLIC_URL' - ]; - - const missingVars = requiredVars.filter(varName => !process.env[varName]); - - if (missingVars.length > 0) { - console.error('❌ Missing required environment variables:'); - missingVars.forEach(varName => { - console.error(` - ${varName}`); - }); - console.error('\nPlease configure these in your .env file:'); - console.error(`AWS_ACCESS_KEY_ID=your-access-key -AWS_SECRET_ACCESS_KEY=your-secret-key -AWS_REGION=us-east-1 -S3_AWS_BUCKET=your-bucket-name -S3_PUBLIC_URL=https://your-public-url.com`); - process.exit(1); - } - - // Validate S3_PUBLIC_URL format - if (!process.env.S3_PUBLIC_URL.startsWith('http')) { - console.error('❌ Invalid S3_PUBLIC_URL: Must be a valid URL starting with http:// or https://'); - process.exit(1); - } -} - -// Load existing image catalog if it exists -function loadImageCatalog() { - try { - if (fs.existsSync(IMAGE_CATALOG_PATH)) { - return JSON.parse(fs.readFileSync(IMAGE_CATALOG_PATH, 'utf8')); - } - } catch (error) { - console.error('Error loading image catalog:', error); - } - return { - lastUpdated: new Date().toISOString(), - totalImages: 0, - images: {} - }; -} - -// Save image catalog -function saveImageCatalog(catalog) { - try { - // Ensure directory exists - const dir = path.dirname(IMAGE_CATALOG_PATH); - if (!fs.existsSync(dir)) { - fs.mkdirSync(dir, { recursive: true }); - } - - // Update metadata - catalog.lastUpdated = new Date().toISOString(); - catalog.totalImages = Object.keys(catalog.images).length; - - // Save catalog - fs.writeFileSync( - IMAGE_CATALOG_PATH, - JSON.stringify(catalog, null, 2), - 'utf8' - ); - - // Create markdown version for easy viewing - const markdown = generateMarkdownCatalog(catalog); - fs.writeFileSync( - IMAGE_CATALOG_PATH.replace('.json', '.md'), - markdown, - 'utf8' - ); - } catch (error) { - console.error('Error saving image catalog:', error); - } -} - -// Generate markdown version of the catalog -function generateMarkdownCatalog(catalog) { - let markdown = `# Image Catalog\n\n`; - markdown += `Last Updated: ${catalog.lastUpdated}\n`; - markdown += `Total Images: ${catalog.totalImages}\n\n`; - - // Group images by type - const imagesByType = {}; - Object.entries(catalog.images).forEach(([key, image]) => { - const type = image.mimeType.split('/')[1].toUpperCase(); - if (!imagesByType[type]) { - imagesByType[type] = []; - } - imagesByType[type].push(image); - }); - - // Generate sections for each type - Object.entries(imagesByType).forEach(([type, images]) => { - markdown += `## ${type} Images\n\n`; - images.forEach(image => { - markdown += `### ${image.fileName}\n`; - markdown += `![${image.fileName}](${image.s3Url})\n\n`; - markdown += `- **Original Path:** \`${image.originalPath}\`\n`; - markdown += `- **S3 URL:** ${image.s3Url}\n`; - markdown += `- **Size:** ${formatBytes(image.size)}\n`; - markdown += `- **MIME Type:** ${image.mimeType}\n`; - markdown += `- **Upload Date:** ${image.uploadDate}\n\n`; - }); - }); - - return markdown; -} - -// Helper function to format bytes -function formatBytes(bytes) { - if (bytes === 0) return '0 Bytes'; - const k = 1024; - const sizes = ['Bytes', 'KB', 'MB', 'GB']; - const i = Math.floor(Math.log(bytes) / Math.log(k)); - return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]; -} - -// File extensions to process -const processExtensions = ['.md', '.html', '.mdx']; - -// Image extensions to look for -const imageExtensions = ['.png', '.jpg', '.jpeg', '.gif', '.svg', '.webp']; - -// Function to get all files recursively -async function getAllFilesIncludingImages(dir) { - const files = []; - const items = fs.readdirSync(dir); - - for (const item of items) { - const fullPath = path.join(dir, item); - if (shouldIgnore(fullPath)) continue; - - const stat = fs.statSync(fullPath); - if (stat.isDirectory()) { - files.push(...await getAllFilesIncludingImages(fullPath)); - } else { - const ext = path.extname(fullPath).toLowerCase(); - if (processExtensions.includes(ext) || imageExtensions.includes(ext)) { - files.push(fullPath); - } - } - } - - return files; -} - -// Rename the sync function for clarity -async function updateCatalogFromS3(catalog) { - try { - console.log('🔍 Checking S3 bucket for catalog updates...'); - const command = new ListObjectsV2Command({ - Bucket: S3_AWS_BUCKET, - Prefix: IMAGE_DIR + '/' - }); - - let isTruncated = true; - let continuationToken; - let s3Objects = []; - - while (isTruncated) { - const response = await s3Client.send(command); - s3Objects = s3Objects.concat(response.Contents || []); - isTruncated = response.IsTruncated; - continuationToken = response.NextContinuationToken; - } - - // Add missing images to catalog - let newEntries = 0; - s3Objects.forEach(s3Object => { - const fileName = path.basename(s3Object.Key); - if (!catalog.images[fileName]) { - catalog.images[fileName] = { - fileName, - originalPath: '(uploaded directly to S3)', - s3Url: `${process.env.S3_PUBLIC_URL}/${s3Object.Key}`, - size: s3Object.Size, - mimeType: mime.lookup(fileName) || 'application/octet-stream', - uploadDate: s3Object.LastModified.toISOString(), - key: s3Object.Key - }; - newEntries++; - console.log(`✅ Added existing S3 file to catalog: ${fileName}`); - } - }); - - saveImageCatalog(catalog); - console.log(`✅ Added ${newEntries} existing S3 files to catalog`); - } catch (error) { - console.error('Error syncing with S3 bucket:', error); - } -} - -// Update processFiles function to include sync -async function processFiles() { - try { - validateEnvironment(); - const catalog = loadImageCatalog(); - - if (process.env.UPDATE_IMAGE_CATALOG_FROM_S3 !== 'false') { - console.log('\n🔄 Updating image catalog from S3 bucket...'); - await updateCatalogFromS3(catalog); - } - - const files = await getAllFiles(process.cwd()); - console.log(`Found ${files.length} files to process`); - - for (const file of files) { - console.log(`\nProcessing ${file}`); - const content = fs.readFileSync(file, 'utf8'); - const imagePaths = extractImagePaths(content); - - if (imagePaths.length === 0) { - console.log('No local images found in file'); - continue; - } - - console.log(`Found ${imagePaths.length} local images`); - const s3Urls = []; - - for (const imagePath of imagePaths) { - console.log(`Looking for image: ${imagePath}`); - const absoluteImagePath = await findImageFile(imagePath, file); - - if (absoluteImagePath && fs.existsSync(absoluteImagePath)) { - console.log(`✓ Found at: ${absoluteImagePath}`); - console.log(`Uploading to S3...`); - const s3Url = await uploadToS3(absoluteImagePath); - s3Urls.push(s3Url); - - if (s3Url) { - console.log(`✓ Uploaded successfully: ${s3Url}`); - } - } else { - console.log(`✗ Image not found: ${imagePath}`); - console.log(`Tried looking in multiple locations. Please check if the file exists.`); - s3Urls.push(null); - } - } - - // Update file content with S3 URLs - const updatedContent = updateContent(content, imagePaths, s3Urls); - if (content !== updatedContent) { - fs.writeFileSync(file, updatedContent, 'utf8'); - console.log(`✓ Updated file with S3 URLs`); - } - } - - console.log('\nProcessing completed!'); - } catch (error) { - console.error('Processing failed:', error); - } -} - -// Simplify main execution to just run processFiles directly -processFiles().catch(error => { - console.error('Error during processing:', error); -}); \ No newline at end of file diff --git a/scripts/table-sizes.js b/scripts/table-sizes.js new file mode 100644 index 00000000..660d8e89 --- /dev/null +++ b/scripts/table-sizes.js @@ -0,0 +1,170 @@ +require('dotenv').config(); +const { Client: PgClient } = require('pg'); +const { Client: SshClient } = require('ssh2'); +const fs = require('fs'); +const net = require('net'); + +// Validate required environment variables +const requiredEnvVars = [ + 'DB_HOST', + 'DB_PORT', + 'DB_NAME', + 'DB_USER', + 'DB_PASSWORD', + 'SSH_HOST', + 'SSH_USER', + 'SSH_PRIVATE_KEY_PATH' +]; +const missingEnvVars = requiredEnvVars.filter(varName => !process.env[varName]); +if (missingEnvVars.length > 0) { + console.error('Error: Missing required environment variables:'); + missingEnvVars.forEach(varName => console.error(`- ${varName}`)); + console.error('\nPlease make sure these variables are set in your .env file'); + process.exit(1); +} + +const { + DB_HOST, + DB_PORT, + DB_NAME, + DB_USER, + DB_PASSWORD, + SSH_HOST, + SSH_USER, + SSH_PORT = '22', + SSH_PRIVATE_KEY_PATH, +} = process.env; + +// Validate SSH private key exists +if (!fs.existsSync(SSH_PRIVATE_KEY_PATH)) { + console.error(`Error: SSH private key file not found at: ${SSH_PRIVATE_KEY_PATH}`); + process.exit(1); +} + +/** + * Function to create an SSH tunnel + */ +function createSSHTunnel() { + const ssh = new SshClient(); + + return new Promise((resolve, reject) => { + ssh.on('ready', () => { + console.log('SSH connection established successfully'); + console.log(`Forwarding local connections to ${DB_HOST}:${DB_PORT}`); + + // Create a TCP server that forwards data through the SSH tunnel + const server = net.createServer((socket) => { + ssh.forwardOut( + socket.remoteAddress, + socket.remotePort, + DB_HOST, + parseInt(DB_PORT), + (err, stream) => { + if (err) { + console.error('Port forwarding error:', err); + socket.end(); + return; + } + socket.pipe(stream).pipe(socket); + } + ); + }); + + // Listen on a random available port + server.listen(0, '127.0.0.1', () => { + const localPort = server.address().port; + console.log(`SSH tunnel established at 127.0.0.1:${localPort}`); + resolve({ ssh, localPort, server }); + }); + }); + + ssh.on('error', (err) => { + console.error('SSH connection error:', err); + reject(err); + }); + + try { + console.log(`Connecting to SSH server ${SSH_HOST}:${SSH_PORT} as ${SSH_USER}`); + console.log('Using private key from:', SSH_PRIVATE_KEY_PATH); + const privateKey = fs.readFileSync(SSH_PRIVATE_KEY_PATH, 'utf8'); + ssh.connect({ + host: SSH_HOST, + port: parseInt(SSH_PORT), + username: SSH_USER, + privateKey: privateKey, + debug: false, + }); + } catch (err) { + console.error('Error reading SSH private key:', err); + reject(err); + } + }); +} + +/** + * Function to query the size of all public tables in the database + */ +async function queryTableSizes(client) { + const query = ` + SELECT relname AS "Table", + pg_size_pretty(pg_total_relation_size(relid)) AS "Total Size" + FROM pg_catalog.pg_statio_user_tables + ORDER BY pg_total_relation_size(relid) DESC; + `; + const result = await client.query(query); + return result.rows; +} + +/** + * Main function to set up the SSH tunnel, connect to the database, and output table sizes + */ +async function main() { + let sshClient; + let tunnelServer; + + try { + console.log('Creating SSH tunnel...'); + const { ssh, localPort, server } = await createSSHTunnel(); + sshClient = ssh; + tunnelServer = server; + + // Database connection configuration via the tunnel + const connectionConfig = { + host: '127.0.0.1', // Connect to the tunnel endpoint + port: localPort, + database: DB_NAME, + user: DB_USER, + password: DB_PASSWORD, + ssl: false, + connectionTimeoutMillis: 5000, + keepAlive: true + }; + + console.log(`Connecting to database "${DB_NAME}" using 127.0.0.1:${localPort}...`); + const client = new PgClient(connectionConfig); + client.on('error', (err) => console.error('PostgreSQL client error:', err)); + await client.connect(); + console.log('Connected to database successfully.'); + + // Query table sizes + const sizes = await queryTableSizes(client); + console.log('\nTable Sizes:'); + console.table(sizes); + + await client.end(); + } catch (error) { + console.error('Error during process:'); + console.error(error); + process.exit(1); + } finally { + if (tunnelServer) { + tunnelServer.close(); + } + if (sshClient) { + console.log('Closing SSH connection...'); + sshClient.end(); + } + } +} + +main(); \ No newline at end of file diff --git a/scripts/upload-images.js b/scripts/upload-images.js new file mode 100644 index 00000000..f7e969ad --- /dev/null +++ b/scripts/upload-images.js @@ -0,0 +1,196 @@ +require('dotenv').config(); +const fs = require('fs'); +const path = require('path'); +const mime = require('mime-types'); +const { S3Client, PutObjectCommand } = require('@aws-sdk/client-s3'); +const { getAllFiles } = require('./shared-utilities'); + +// Initialize S3 client +const s3Client = new S3Client({ + region: process.env.AWS_REGION, + credentials: { + accessKeyId: process.env.AWS_ACCESS_KEY_ID, + secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY, + } +}); + +// Get configuration from environment variables +const S3_AWS_BUCKET = process.env.S3_AWS_BUCKET; +const IMAGE_DIR = process.env.IMAGE_DIR || 'img'; +const IMAGE_CATALOG_PATH = 'docs/assets/image-catalog.json'; + +function validateEnvironment() { + const requiredVars = ['AWS_ACCESS_KEY_ID', 'AWS_SECRET_ACCESS_KEY', 'AWS_REGION', 'S3_AWS_BUCKET', 'S3_PUBLIC_URL']; + const missingVars = requiredVars.filter(varName => !process.env[varName]); + + if (missingVars.length > 0) { + console.error('❌ Missing required environment variables:', missingVars.join(', ')); + process.exit(1); + } + + if (!process.env.S3_PUBLIC_URL.startsWith('http')) { + console.error('❌ Invalid S3_PUBLIC_URL: Must be a valid URL starting with http:// or https://'); + process.exit(1); + } +} + +function loadImageCatalog() { + try { + return fs.existsSync(IMAGE_CATALOG_PATH) + ? JSON.parse(fs.readFileSync(IMAGE_CATALOG_PATH, 'utf8')) + : { lastUpdated: new Date().toISOString(), totalImages: 0, images: {} }; + } catch (error) { + console.error('Error loading image catalog:', error); + return { lastUpdated: new Date().toISOString(), totalImages: 0, images: {} }; + } +} + +function saveImageCatalog(catalog) { + try { + const dir = path.dirname(IMAGE_CATALOG_PATH); + if (!fs.existsSync(dir)) { + fs.mkdirSync(dir, { recursive: true }); + } + + catalog.lastUpdated = new Date().toISOString(); + catalog.totalImages = Object.keys(catalog.images).length; + + fs.writeFileSync(IMAGE_CATALOG_PATH, JSON.stringify(catalog, null, 2), 'utf8'); + } catch (error) { + console.error('Error saving image catalog:', error); + } +} + +function extractImagePaths(content) { + const paths = new Set(); + const patterns = [ + { regex: /!\[.*?\]\((.*?)\)/g, group: 1 }, // Markdown + { regex: /]+src=["']([^"']+)["']/g, group: 1 } // HTML + ]; + + patterns.forEach(({ regex, group }) => { + let match; + while ((match = regex.exec(content)) !== null) { + if (!match[group].startsWith('http')) { + paths.add(match[group]); + } + } + }); + + return Array.from(paths); +} + +async function findImageFile(imagePath, sourceFile) { + const possiblePaths = [ + imagePath, + path.join(path.dirname(sourceFile), imagePath), + path.join(process.cwd(), imagePath), + path.join(process.cwd(), 'img', path.basename(imagePath)), + path.join(process.cwd(), 'assets', path.basename(imagePath)) + ]; + + for (const testPath of possiblePaths) { + if (fs.existsSync(testPath)) { + return testPath; + } + } + return null; +} + +async function uploadToS3(filePath) { + try { + const fileContent = fs.readFileSync(filePath); + const fileName = path.basename(filePath); + const key = `${IMAGE_DIR}/${fileName}`; + + await s3Client.send(new PutObjectCommand({ + Bucket: S3_AWS_BUCKET, + Key: key, + Body: fileContent, + ContentType: mime.lookup(filePath) || 'application/octet-stream' + })); + + const s3Url = `${process.env.S3_PUBLIC_URL}/${key}`; + + // Update catalog + const catalog = loadImageCatalog(); + catalog.images[fileName] = { + fileName, + originalPath: filePath, + s3Url, + size: fs.statSync(filePath).size, + mimeType: mime.lookup(filePath) || 'application/octet-stream', + uploadDate: new Date().toISOString(), + key + }; + saveImageCatalog(catalog); + + return s3Url; + } catch (error) { + console.error(`Error uploading ${filePath} to S3:`, error); + return null; + } +} + +function updateContent(content, localPaths, s3Urls) { + return localPaths.reduce((updatedContent, localPath, index) => { + if (!s3Urls[index]) return updatedContent; + + const escapedPath = localPath.replace(/[.*+?^${}()|[\]\\]/g, '\\$&'); + const patterns = [ + { regex: `!\\[([^\\]]*)\\]\\(${escapedPath}\\)`, replace: `![$1](${s3Urls[index]})` }, // Markdown + { regex: `]*)src=["']${escapedPath}["']([^>]*)>`, replace: `` } // HTML + ]; + + return patterns.reduce((content, { regex, replace }) => + content.replace(new RegExp(regex, 'g'), replace), updatedContent); + }, content); +} + +async function processFiles() { + try { + validateEnvironment(); + const files = await getAllFiles(process.cwd(), ['.md', '.html']); // Only process markdown and html files + console.log(`Found ${files.length} markdown/html files to process`); + + for (const file of files) { + console.log(`\nProcessing ${file}`); + const content = fs.readFileSync(file, 'utf8'); + const imagePaths = extractImagePaths(content); + + if (imagePaths.length === 0) { + console.log('No local images found in file'); + continue; + } + + console.log(`Found ${imagePaths.length} local images`); + const s3Urls = await Promise.all(imagePaths.map(async imagePath => { + console.log(`Looking for image: ${imagePath}`); + const absoluteImagePath = await findImageFile(imagePath, file); + + if (absoluteImagePath && fs.existsSync(absoluteImagePath)) { + console.log(`✓ Found at: ${absoluteImagePath}`); + const s3Url = await uploadToS3(absoluteImagePath); + console.log(s3Url ? `✓ Uploaded successfully: ${s3Url}` : '✗ Upload failed'); + return s3Url; + } else { + console.log(`✗ Image not found: ${imagePath}`); + return null; + } + })); + + const updatedContent = updateContent(content, imagePaths, s3Urls); + if (content !== updatedContent) { + fs.writeFileSync(file, updatedContent, 'utf8'); + console.log(`✓ Updated file with S3 URLs`); + } + } + + console.log('\nProcessing completed!'); + } catch (error) { + console.error('Processing failed:', error); + process.exit(1); + } +} + +processFiles(); \ No newline at end of file diff --git a/solutions/cost-benefit-analysis-for-drug-classification.md b/solutions/cost-benefit-analysis-for-drug-classification.md new file mode 100644 index 00000000..143f281a --- /dev/null +++ b/solutions/cost-benefit-analysis-for-drug-classification.md @@ -0,0 +1,26 @@ +# How Rx-to-OTC Switches Affect Drug Prices and Access + +The transition of prescription drugs to over-the-counter (OTC) status can significantly impact drug prices and accessibility. Here's what the data shows: + +## Average Price Reduction +- Studies show that drugs switching from Rx to OTC status experience an average price reduction of [36%](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC539854/) + +## Notable Examples +- Zyrtec (cetirizine) saw prices drop by as much as [80%](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC539854/) after its OTC switch +- While specific price data isn't available for Prilosec, Claritin, and Flonase, their OTC switches followed similar patterns of increased accessibility and price competition + +## Impact on Drug Access +Rx-to-OTC switches generally improve drug access by: +1. Eliminating the need for doctor visits and prescriptions +2. Increasing price competition from generic manufacturers +3. Making medications more readily available in retail stores + +However, the economic impact varies by drug and is influenced by factors like: +- Generic competition timing +- Insurance coverage changes +- Manufacturer pricing strategies + +## References +1. [Switching prescription drugs to over the counter](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC539854/) +2. [Potential Effects of Introducing Behind the Counter Drugs](https://www.rand.org/content/dam/rand/pubs/working_papers/2008/RAND_WR608.pdf) +3. [Prescription drug cost sharing: associations with medication and medical utilization and spending](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC6375697/) diff --git a/solutions/data-storage-costs.md b/solutions/data-storage-costs.md new file mode 100644 index 00000000..8aedf334 --- /dev/null +++ b/solutions/data-storage-costs.md @@ -0,0 +1,60 @@ +--- +title: "Data Storage Costs for Decentralized Clinical Trials" +description: "Analysis of per-patient data storage costs in a decentralized FDA platform" +emoji: "💾" +--- + +# Data Storage Costs for Decentralized Clinical Trials + +## Storage Requirements Per Patient + +### Basic Data Components +- Patient demographics and basic information: < 1MB +- Trial-specific forms and data entries: [1-5MB](https://www.fda.gov/patients/drug-development-process/step-3-clinical-research) +- Medical imaging (when applicable): [50-500MB](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5840832/) +- Continuous monitoring data: 1-10MB/month +- Total typical storage: ~1GB per patient + +## Cost Analysis + +### Infrastructure Costs (Per Patient/Month) +| Component | Estimated Cost | Notes | +|-----------|---------------|--------| +| Raw Storage | $0.02 | Based on standard cloud storage rates | +| Compute/API | $0.20 | For data processing and access | +| Database | $0.30 | For structured data storage | +| Backup/Redundancy | $0.20 | For data safety and compliance | +| **Total** | **$0.72** | Per patient/month | + +### Cost Comparisons +- Electronic Health Records (EHRs): 1-2GB per patient +- Google Workspace: $12/user/month (includes many additional services) +- Medical imaging platforms: 100s of GB per patient + +### Why Costs Are Lower Than Traditional Platforms +1. Focused use case with optimized data types +2. No need for collaboration tools or email storage +3. Efficient data structures for clinical trial data +4. Economies of scale with increased adoption + +## Additional Considerations + +### Fixed Costs +- Security and compliance infrastructure +- Data validation systems +- API management +- Development and maintenance + +### Cost Optimization Strategies +1. Implement efficient data compression +2. Use tiered storage for older/less accessed data +3. Optimize image and continuous monitoring data storage +4. Leverage serverless computing for cost-effective scaling + +### Scaling Benefits +- Fixed costs decrease per patient as platform grows +- Bulk storage rates improve with volume +- Automated systems become more cost-effective at scale + +## Conclusion +The actual per-patient storage cost ($0.72/month) is significantly lower than traditional systems due to focused use case, modern cloud infrastructure, and optimization for clinical trial data. This enables a cost-effective decentralized platform that can scale efficiently while maintaining high data quality and compliance standards. diff --git a/solutions/recovery-trial.md b/solutions/recovery-trial.md new file mode 100644 index 00000000..a7d58a94 --- /dev/null +++ b/solutions/recovery-trial.md @@ -0,0 +1,55 @@ +Okay, here's an article exploring how the RECOVERY trial reduced clinical research costs and how a global decentralized platform could scale that approach, with inline markdown hyperlinks: + +**Revolutionizing Clinical Trials: Scaling RECOVERY's Efficiency with a Global Decentralized Platform** + +The traditional model of clinical trials is often criticized for its high cost and slow pace, hindering the development of life-saving treatments. However, the [RECOVERY trial](https://www.recoverytrial.net/), a large-scale study of potential COVID-19 therapies, demonstrated a radical shift in efficiency. By streamlining processes and leveraging existing healthcare infrastructure, RECOVERY significantly reduced costs while maintaining the scientific rigor needed to generate reliable results. This article explores how RECOVERY achieved such efficiency and proposes a pathway for scaling and replicating this success through a global, decentralized, autonomous clinical trial platform. + +**The RECOVERY Revolution: A Blueprint for Efficiency** + +The RECOVERY trial, conducted in the UK, was a remarkable example of pragmatic and cost-effective clinical research. It enrolled over 49,000 patients across 186 hospitals, testing multiple potential COVID-19 treatments with impressive speed and efficacy. Key elements contributing to its success included: + +* **Decentralized Recruitment:** Instead of relying on specialized research centers, RECOVERY enrolled patients from regular hospitals and clinics. This significantly broadened the patient pool and reduced the recruitment time and overhead. +* **Simplified Data Collection:** The trial focused on collecting core clinical outcomes using existing hospital data, reducing the need for extensive and costly data management. They also used a standardized case record form that was streamlined to avoid unnecessary data collection. +* **Routine Care Integration:** By integrating the trial into routine hospital care, RECOVERY minimized the additional burden on both healthcare professionals and patients. +* **Adaptive Trial Design:** RECOVERY's design allowed for flexibility to add or remove arms of the trial as new treatments emerged or some were proven ineffective. This meant that fewer patients needed to be enrolled in ineffective arms of the trial, saving time and money. +* **Emphasis on Pragmatism**: The trial prioritized answering important clinical questions quickly using existing infrastructure, cutting down on administrative costs and bureaucracy. + +These factors combined to create an exceptionally efficient clinical trial. The [estimated cost per patient was roughly $500](https://manhattan.institute/article/new-issue-brief-slow-costly-clinical-trials-drag-down-biomedical-breakthroughs), compared to typical clinical trial costs ranging from tens of thousands to hundreds of thousands of dollars per patient, depending on the complexity of the trial. This is an enormous difference, as the [median cost of a clinical trial for a new therapeutic is around $41,000 per patient](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7295430/). Moreover, it is estimated that the RECOVERY trial [saved hundreds of thousands of lives](https://pmc.ncbi.nlm.nih.gov/articles/PMC8940185/) by rapidly determining that steroids are effective in treating severe COVID-19. + +**Scaling RECOVERY: A Global Decentralized Autonomous Platform** + +The RECOVERY trial offers a clear pathway to reducing the cost of clinical research. However, to have a global impact, we need to scale and replicate its model using technology. A global decentralized autonomous clinical trial platform could achieve this by: + +1. **Decentralized Infrastructure:** The platform would leverage existing healthcare networks globally, empowering healthcare providers in local clinics and hospitals to participate in trials. This decentralized approach would eliminate the need for expensive central research facilities, dramatically lowering costs. +2. **Automated Data Management:** The platform would integrate with existing Electronic Health Records (EHR) systems to automate data collection and reduce manual data entry. The use of standardized data protocols would also enhance data interoperability and accelerate analysis. The platform would also have automated data validation to ensure data integrity. +3. **Smart Contract Automation:** Utilizing blockchain technology and smart contracts, the platform could automate key processes, from participant enrollment to data analysis and compensation. This automation would increase transparency and efficiency, minimizing administrative overhead and ensuring that all stakeholders are compensated fairly. +4. **AI-Powered Trial Design and Analysis**: The platform would integrate AI to optimize trial design by using predictive modeling to determine which patients should be enrolled, which treatments should be studied, and how trials should be structured. AI can also assist with data analysis to detect trends and outliers more rapidly and generate faster insights. +5. **Autonomous Governance:** A decentralized autonomous organization (DAO) could govern the platform, ensuring that it is transparent, inclusive, and accountable to all stakeholders. This would help address concerns about bias and potential conflicts of interest. +6. **Open API and Global Collaboration**: The platform would be built on an open API, allowing researchers, developers and healthcare providers to create customized applications and integrations. This promotes innovation by allowing the community to enhance and improve the platform and accelerate the development of new features. It also promotes transparency, as the code for the platform would be open source. +7. **Focus on Simplicity and Pragmatism:** The platform would prioritize simplicity and focus on collecting essential data to address key clinical questions. This pragmatism minimizes cost and increases the likelihood of producing meaningful results quickly. + +**Potential Benefits of a Global Decentralized Platform** + +Adopting a global, decentralized, autonomous clinical trial platform inspired by RECOVERY's model could offer numerous benefits: + +* **Drastic Cost Reductions:** By automating processes, reducing overhead, and leveraging existing resources, the platform could significantly decrease the cost of clinical trials. While achieving an 80x reduction may be overly optimistic, it is reasonable to expect a substantial cost reduction compared to existing traditional trial models. +* **Accelerated Drug Development:** Streamlined processes and rapid recruitment would significantly shorten the timelines for clinical trials and reduce the time it takes to bring new drugs to market. This would reduce development costs and get treatments to patients faster. +* **Increased Patient Access:** The platform would make clinical trials more accessible to patients globally, regardless of their location or socioeconomic status, leading to more representative study populations and a more comprehensive view of treatment efficacy. +* **Enhanced Scientific Rigor:** Automated data management and validation would ensure high-quality data, while transparent governance would promote scientific integrity. +* **Global Collaboration:** An open platform would foster global collaboration and innovation, enabling researchers from around the world to participate in the advancement of medical knowledge. + +**Challenges and Considerations** + +Implementing a global decentralized platform would present some challenges: + +* **Regulatory Compliance:** Ensuring that the platform complies with the varying regulatory requirements of different countries would require careful planning and collaboration with regulatory bodies. +* **Data Privacy:** Protecting patient data would be paramount, requiring robust security measures and adherence to privacy regulations. Data would need to be anonymized through tokenization to protect patients. +* **Digital Divide:** Addressing the digital divide and ensuring equitable access to the platform, especially in low-resource settings, would be critical for global inclusivity. +* **Interoperability:** Ensuring interoperability with different EHR systems globally would be a challenge that requires continuous effort and collaboration. +* **Adoption**: Getting healthcare providers to adopt a new platform would require education, training, and incentives. + +These challenges can be addressed through ongoing collaboration between governments, industry, and academia and should not deter progress toward a more efficient model of clinical trials. + +**Conclusion** + +The RECOVERY trial demonstrated that clinical trials can be conducted quickly and efficiently while remaining scientifically rigorous. By scaling and replicating RECOVERY's approach using a global decentralized autonomous platform, we can further reduce costs, accelerate drug development, increase patient access, and promote global collaboration in medical research. While challenges exist, the potential benefits of such a system are enormous and justify the effort to transform the landscape of clinical research to benefit patients globally. diff --git a/strategy-comparison.md b/strategy-comparison.md new file mode 100644 index 00000000..f675ac5b --- /dev/null +++ b/strategy-comparison.md @@ -0,0 +1,197 @@ +# Strategies for Realizing a Global Autonomous Decentralized FDA + +Below is an **Exhaustive Strategy Comparison Document** designed for **organizational feedback**. The main barriers are **regulatory**, **legal**, and **policy** obstacles that must be addressed for a truly open, global trial system with robust patient rights. + +--- + +## **1. Overview and Purpose** + +**Goal**: To establish a **global system** that ranks treatment effectiveness (clinical + real-world data) and enables **instant patient enrollment** in decentralized trials—supported by **guaranteed patient rights** to join any trial and import treatments from other jurisdictions. + +**Key Principle**: +- **Technical feasibility** is less of a barrier—existing companies can quickly adapt or expand platforms. +- The **primary challenge** is reforming the **regulatory and legal frameworks** to: + - Allow broad trial participation (beyond local or national boundaries). + - Permit streamlined importation of investigational or foreign-approved therapies. + - Ensure data sharing complies with privacy and ethical standards across multiple jurisdictions. + +--- + +## **2. Core Challenges** + +1. **Regulatory & Legal Barriers** + - **FDA**, **EMA**, **TGA**, and other agencies have stringent rules limiting decentralized trials and importation of unapproved treatments. + - **State-by-state** variations (in the U.S.) further complicate nationwide or cross-border solutions. + +2. **Patient Rights & Access** + - Few legal guarantees protect patients’ rights to **participate** in trials or **import** foreign-approved drugs. + - The **Right to Try Act** (U.S.) remains narrowly focused on terminally ill patients. + +3. **Global Coordination & Data Sharing** + - Lack of **mutual recognition** among national regulatory agencies hinders cross-border trial participation. + - Varying **privacy laws** (HIPAA, GDPR, etc.) complicate data exchange. + +4. **Technical vs. Regulatory Bottlenecks** + - Technically, existing **decentralized trial companies** can ramp up solutions quickly. + - **Policy** changes, however, require substantial legislative, lobbying, and negotiation efforts—often spanning years. + +--- + +## **3. Strategies for Building a Global, Patient-Centric Trial System** + +Below are **four primary strategies**, each incorporating the **new awareness** that technical implementation can proceed quickly once legal hurdles are addressed. + +### **A. Interstate Compact Approach** +States form a shared “Cure Zone” compact, adopting uniform rules for decentralized trials and granting broad patient rights (including importation). + +- **Technical Feasibility**: + - Existing companies can quickly **operate** in these zones once states legally enable broad participation/importation. +- **Policy Reforms**: + - Requires **interstate agreements** that bypass or supplement existing federal restrictions. +- **Time Estimate**: **8–15 years** + - **Rationale**: Securing multi-state adoption can be slow; compacts often take years of lobbying and legislative alignment. +- **Cost Estimate**: **\$100–200M** + - **Breakdown**: + - \$30–50M for **lobbying and advocacy** to pass the compact in enough states. + - \$20–40M for **legal infrastructure** (e.g., developing uniform regulations, compliance frameworks). + - \$50–110M for **launch and coordination** (administrative costs, ongoing updates across multiple states). +- **Pros**: + - Avoids immediate **federal gridlock**. + - Enables **legal experimentation** at the state level. +- **Cons**: + - **Patchwork** effect—only helps patients in participating states until broader adoption. + - May eventually need **federal alignment** or a large number of states to create critical mass. + +--- + +### **B. Federal Law Approach** +Enact a **national law** mandating decentralized trial access and guaranteeing patient rights (participation, importation, data portability). + +- **Technical Feasibility**: + - Once legal barriers are removed, existing platforms (Science 37, Medable, Curebase, etc.) can **expand immediately** nationwide. +- **Policy Reforms**: + - Amends or supersedes existing FDA regulations; possibly revises Right to Try Act for **broader coverage**. + - Could also lay groundwork for **reciprocal treatment approvals** internationally. +- **Time Estimate**: **5–15 years** + - **Rationale**: Could be **faster** if a strong political coalition emerges; could also stall indefinitely if opposed by lobbying groups. +- **Cost Estimate**: **Up to \$300M** + - **Breakdown**: + - \$50–80M for **federal lobbying** and coalition-building. + - \$50–100M for **regulatory agency restructuring** (FDA or new offices handling decentralized trials). + - \$50–70M for **technical infrastructure** at the federal level (e.g., centralized trial registries, data oversight). + - \$30–50M for **long-term enforcement & compliance** (inspections, audits, etc.). +- **Pros**: + - **Uniform** national framework once enacted. + - Simplifies **global reciprocity** once the U.S. standard is set. +- **Cons**: + - **Politically challenging**—requires significant capital, time, and public support. + - Even after passage, **bureaucratic** processes can delay real-world implementation. + +--- + +### **C. Philanthropist-Funded Development** +A philanthropic entity (or consortium) directly funds the **design and deployment** of a global trial platform and advocates for necessary legal reforms in parallel. + +- **Technical Feasibility**: + - **Immediate**—existing decentralized trial companies can be contracted or partnered to build out the platform. +- **Policy Reforms**: + - Advocates for **expanded patient rights**, importation channels, and international cooperation. + - Could pilot in **friendly jurisdictions** first (e.g., states with progressive telehealth laws or countries open to decentralized trials). +- **Time Estimate**: **4–10 years** + - **Rationale**: Building a robust, globally scalable platform + forging regulatory acceptance takes time, even if the tech can launch in under a year. +- **Cost Estimate**: **\$200–500M+** + - **Breakdown**: + - \$100–200M for **initial platform development** (extensive data infrastructure, security compliance, multi-language support). + - \$50–100M for **legal advocacy and lobbying** (pushing policy changes across multiple regions). + - \$50–200M for **international rollout** (regional offices, marketing, ongoing integrations with local systems). +- **Pros**: + - **Rapid** innovation under direct philanthropic control. + - Potential to **pilot** immediate solutions in receptive markets. +- **Cons**: + - **Massive upfront** investment with uncertain legislative outcomes. + - May face **regulatory obstacles** that limit real-world adoption, even with a functional platform. + +--- + +### **D. Prize Model** +Offer a **significant cash prize** (e.g., \$200–300M) to incentivize the creation or adaptation of a decentralized trial platform with guaranteed patient rights features. + +- **Technical Feasibility**: + - **High**—existing companies can quickly adapt to compete for the prize. +- **Policy Reforms**: + - Prize rules can **encourage** participants to incorporate legal/regulatory solutions, but **binding reforms** still require separate legislative action. +- **Time Estimate**: **5–8+ years** + - **Rationale**: + - ~2–3 years for **competition design and team development**. + - Additional time for **pilot implementation** and regulatory acceptance. +- **Cost Estimate**: **\$200–300M+** + - **Breakdown**: + - \$100–200M **prize purse** (awarded based on specific success metrics, e.g., proven legal pathways, multi-country pilots). + - \$50–100M for **administration, marketing, and follow-up** scale-up or partnerships. +- **Pros**: + - **Attracts global innovators**—multiple teams compete to solve technical, legal, and patient-rights challenges. + - **Pay-for-success** lowers risk of funding ineffective solutions. +- **Cons**: + - Dependent on the **quality of entrants**; winning solutions may still require additional capital to fully deploy. + - **Regulatory buy-in** is not guaranteed by awarding a prize alone. + +--- + +## **4. Comparison Table** + +| **Criteria** | **Interstate Compact** | **Federal Law** | **Philanthropist-Funded** | **Prize Model** | +|----------------------------|-----------------------------|--------------------------|--------------------------------|-----------------------------| +| **Technical Feasibility** | High (if state laws align) | High (once law passes) | High (existing companies + new dev) | High (incentivizes existing cos.) | +| **Policy Requirement** | Multi-state legislative | Single federal legislative | Parallel advocacy | Competition rules + separate legislative push | +| **Time Estimate** | ~8–15 years | ~5–15 years | ~4–10 years | ~5–8+ years | +| **Cost Estimate** | \$100–200M | Up to \$300M | \$200–500M+ | \$200–300M+ | +| **Scalability** | Gradual, as states join | Swift once passed | Potentially rapid if well-funded | Potentially rapid if prize solutions are robust | +| **Patient Rights Impact** | Patchwork; grows with adoption | Nationwide if enacted | Depends on legislative success in each region | Tied to prize goals; final legal status uncertain | +| **Key Risk** | Limited initial adoption | Political gridlock | High upfront spending; uncertain legal outcomes | Variable entry quality; no guaranteed policy change | + +--- + +## **5. Key Observations** + +1. **Technical Solutions Are Ready** + - Multiple companies can **immediately** provide the necessary decentralized trial platform. + - The main delays revolve around **policy** changes, not coding or infrastructure. + +2. **Regulatory & Legal Advocacy** Is Central + - Whichever strategy is chosen, **lobbying** and **legislative reform** are essential to achieve broad patient rights (trial participation, importation, data-sharing). + +3. **Cost Variability** + - The final bill depends on **how extensive** the reforms are, how many jurisdictions are involved, and how much **infrastructure** (IT + administrative) is required. + +4. **Hybrid Approaches** + - Some organizations may combine methods (e.g., **prize + philanthropic funding**, or **interstate compact** transitioning into **federal law**). + - Hybrid models leverage multiple funding streams and better manage risk. + +5. **International Expansion** + - For a **truly global** system, additional complexity arises from multinational regulatory bodies. + - This may **increase timelines** and costs, but also **amplify** impact if successful. + +--- + +## **6. Next Steps for Organizational Feedback** + +1. **Identify Strategic Alignment** + - Determine which approach aligns best with the organization’s **mission, resources, and appetite for risk**. + +2. **Refine Estimates** + - Solicit feedback from **legal experts, lobbyists, existing trial platforms, and regulators** to fine-tune the timeline and cost range for each strategy. + +3. **Evaluate Hybrid Options** + - Consider pilot projects (e.g., **a philanthropic pilot** or **an interstate compact** in a supportive region) to gather data for a **federal or international push**. + +4. **Engage Stakeholders** + - Build support among **patient advocacy groups**, **pharmaceutical/biotech** firms, **insurance** providers, and **international regulators**. + +5. **Develop a Detailed Implementation Roadmap** + - Once a preferred strategy emerges, create a **step-by-step plan** with milestones, stakeholder assignments, and continuous **risk assessment** checkpoints. + +--- + +## **Conclusion** + +The **technology** to enable decentralized, global trials and real-time treatment ranking **already exists**. The determining factor is how quickly and effectively **regulatory, legal, and political** structures can be changed to **guarantee** patient rights, streamline importation, and facilitate cross-border data sharing. By combining **technological solutions** with robust **policy strategies**, each of the four approaches—**Interstate Compact, Federal Law, Philanthropist-Funded Development, and the Prize Model**—presents distinct pathways, budgets, and timelines for achieving this transformative vision in healthcare. \ No newline at end of file diff --git a/war-on-disease-strategy.md b/war-on-disease-strategy.md new file mode 100644 index 00000000..7b544225 --- /dev/null +++ b/war-on-disease-strategy.md @@ -0,0 +1,16 @@ +# High Level Strategy for War on Disease + +1. Declaration of War + 1. analogize harm from disease to harm from Nazis and the reconfiguration of the entire American economy to fight and win world war 2 in under 5 years. the only reason we can't make a damn website to cure disease is because we expect basically nothing from our institutions despite $50B in annual budgets. +2. Assemble Joint Strategic Command (7-9 members emulating Lincoln's war cabinet) +3. Draft Disease Eradication Act + 1. including global decentralized FDA open-source interoperable automated clinical trial platform with treatment outcome rankings + 2. Decentralized Institutes of Health to manage rewards described +4. Issue $WAR bonds to raise money + 1. buyers receive 50% of healthcare savings resulting from adoption) + 2. Include economic savings model with confidence intervals estimating ROI + 3. Aim to exceed $300M annually spent lobbying by industry to preserve status quo mass disease state +5. Use $WAR bonds to reward referrals for getting people to vote on global referendum on Disease Eradication Act + 1. Aim for 3.5% of the population of each nation, which is historically enough to produce major societal advancements (less than 10% of people suffering from chronic disease) +6. Public support is used as evidence to leaders to pause all military efforts and join together to fund and implement the Disease Eradication Act + 1. Once all disease is eradicated, they may resume pissing away trillions building nuclear weapons and murderbots again diff --git a/whitepaper/3-platform.md b/whitepaper/3-platform.md index c0cd0233..b18591b0 100644 --- a/whitepaper/3-platform.md +++ b/whitepaper/3-platform.md @@ -101,7 +101,7 @@ Separate plugins will enable spreadsheet upload/import and scheduled imports fro #### Implementation Support for EHR APIs | **API Name** | **Supporting IGs** | -| --------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +|-----------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | Patient Access API | [_The CARIN Consumer Directed Payer Data Exchange IG (also referred to as the CARIN IG for Blue Button®)_](http://hl7.org/fhir/us/carin-bb/history.html) [HL7 FHIR Da Vinci PDex IG](https://www.cms.gov/Regulations-and-Guidance/Guidance/Interoperability/index#Da\_Vinci)[_HL7 US Core IG_](https://www.cms.gov/Regulations-and-Guidance/Guidance/Interoperability/index#US\_Core) [HL7 FHIR Da Vinci - PDex US Drug Formulary IG](https://www.cms.gov/Regulations-and-Guidance/Guidance/Interoperability/index#FHIR\_API) | | Provider Access API | \* See Above IGs for Patient Access API | | Payer-to-Payer API | \* See Above IGs for Patient Access API | diff --git a/wiki/images/.htaccess b/wiki/images/.htaccess deleted file mode 100644 index 765c9875..00000000 --- a/wiki/images/.htaccess +++ /dev/null @@ -1 +0,0 @@ -# This configuration has been moved to the /opt/bitnami/apache/conf/vhosts/htaccess/mediawiki-htaccess.conf config file for performance and security reasons diff --git a/wiki/images/README b/wiki/images/README deleted file mode 100644 index e6d6c118..00000000 --- a/wiki/images/README +++ /dev/null @@ -1,2 +0,0 @@ -If uploads are enabled in the wiki, files will be put in subdirectories -under here. diff --git a/wiki/images/avatars/README.txt b/wiki/images/avatars/README.txt deleted file mode 100644 index 0e821fc6..00000000 --- a/wiki/images/avatars/README.txt +++ /dev/null @@ -1,4 +0,0 @@ -==Avatar Notes== -Please create an avatar directory under the path for images used in your MediaWiki Installaion. This directory should be writeable. - -Copy the 4 default images into the folder. If a user does not have an avatar, these images will show up. \ No newline at end of file diff --git a/wiki/images/deleted/.htaccess b/wiki/images/deleted/.htaccess deleted file mode 100644 index 3a428827..00000000 --- a/wiki/images/deleted/.htaccess +++ /dev/null @@ -1 +0,0 @@ -Deny from all diff --git a/wiki/images/deleted/l/l/p/index.html b/wiki/images/deleted/l/l/p/index.html deleted file mode 100644 index e69de29b..00000000