diff --git a/docs/components/causal-inference-analysis.md b/docs/components/causal-inference-analysis.mdx similarity index 100% rename from docs/components/causal-inference-analysis.md rename to docs/components/causal-inference-analysis.mdx diff --git a/docs/components/clinipedia.md b/docs/components/clinipedia.mdx similarity index 100% rename from docs/components/clinipedia.md rename to docs/components/clinipedia.mdx diff --git a/docs/components/data-analysis/data-analysis.md b/docs/components/data-analysis/data-analysis.mdx similarity index 100% rename from docs/components/data-analysis/data-analysis.md rename to docs/components/data-analysis/data-analysis.mdx diff --git a/docs/components/data-collection/data-collection.md b/docs/components/data-collection/data-collection.mdx similarity index 100% rename from docs/components/data-collection/data-collection.md rename to docs/components/data-collection/data-collection.mdx diff --git a/docs/components/data-silo-api-gateways.md b/docs/components/data-silo-api-gateways.mdx similarity index 95% rename from docs/components/data-silo-api-gateways.md rename to docs/components/data-silo-api-gateways.mdx index ca1035532..3d725ae0f 100644 --- a/docs/components/data-silo-api-gateways.md +++ b/docs/components/data-silo-api-gateways.mdx @@ -1,6 +1,6 @@ ## Data Silo API Gateway Nodes -dFDA 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). +dFDA 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.mdx#2-personalfda-nodes). ### Requirements - **OAuth2 Protected API:** Provides a secure, OAuth2-protected API for people to easily access their data. diff --git a/docs/components/desci-ai-dao.md b/docs/components/desci-ai-dao.mdx similarity index 100% rename from docs/components/desci-ai-dao.md rename to docs/components/desci-ai-dao.mdx diff --git a/docs/components/dfda-collaboration-framework.md b/docs/components/dfda-collaboration-framework.mdx similarity index 100% rename from docs/components/dfda-collaboration-framework.md rename to docs/components/dfda-collaboration-framework.mdx diff --git a/docs/components/digital-twin-safe.md b/docs/components/digital-twin-safe.mdx similarity index 100% rename from docs/components/digital-twin-safe.md rename to docs/components/digital-twin-safe.mdx diff --git a/docs/components/human-file-system.md b/docs/components/human-file-system.mdx similarity index 100% rename from docs/components/human-file-system.md rename to docs/components/human-file-system.mdx diff --git a/docs/components/mhealth-data-import/mhealth-data-import.md b/docs/components/mhealth-data-import/mhealth-data-import.mdx similarity index 100% rename from docs/components/mhealth-data-import/mhealth-data-import.md rename to docs/components/mhealth-data-import/mhealth-data-import.mdx diff --git a/docs/components/observational-studies/observational-studies.md b/docs/components/observational-studies/observational-studies.mdx similarity index 100% rename from docs/components/observational-studies/observational-studies.md rename to docs/components/observational-studies/observational-studies.mdx diff --git a/docs/components/outcome-labels/outcome-labels.md b/docs/components/outcome-labels/outcome-labels.mdx similarity index 100% rename from docs/components/outcome-labels/outcome-labels.md rename to docs/components/outcome-labels/outcome-labels.mdx diff --git a/docs/components/predictor-search-engine/predictor-search-engine.md b/docs/components/predictor-search-engine/predictor-search-engine.mdx similarity index 100% rename from docs/components/predictor-search-engine/predictor-search-engine.md rename to docs/components/predictor-search-engine/predictor-search-engine.mdx diff --git a/docs/components/real-time-decision-support/real-time-notifications.md b/docs/components/real-time-decision-support/real-time-notifications.mdx similarity index 98% rename from docs/components/real-time-decision-support/real-time-notifications.md rename to docs/components/real-time-decision-support/real-time-notifications.mdx index c3e3ae0e2..675b96d22 100644 --- a/docs/components/real-time-decision-support/real-time-notifications.md +++ b/docs/components/real-time-decision-support/real-time-notifications.mdx @@ -8,9 +8,7 @@ coverY: 203.93538913362704 # πŸ€– Optomitron Real-Time Decision Support Plugin -{% embed url="https://youtu.be/hd50A74o8YI" %} -Optomitron in Action -{% endembed %} +[![Click Here for Demo Video](images/optimitron-ai-assistant.png)](https://youtu.be/hd50A74o8YI) #### [DEMO WEBSITE](https://demo.quantimo.do/dev/src/index.html#/app/chat) diff --git a/docs/components/root-cause-analysis-reports/root-cause-analysis-reports.md b/docs/components/root-cause-analysis-reports/root-cause-analysis-reports.mdx similarity index 100% rename from docs/components/root-cause-analysis-reports/root-cause-analysis-reports.md rename to docs/components/root-cause-analysis-reports/root-cause-analysis-reports.mdx diff --git a/docs/components/trial-management/trial-management.md b/docs/components/trial-management/trial-management.mdx similarity index 100% rename from docs/components/trial-management/trial-management.md rename to docs/components/trial-management/trial-management.mdx diff --git a/docs/contributing/add-an-api.md b/docs/contributing/add-an-api.mdx similarity index 100% rename from docs/contributing/add-an-api.md rename to docs/contributing/add-an-api.mdx diff --git a/docs/contributing/editing-api-specs.md b/docs/contributing/editing-api-specs.mdx similarity index 100% rename from docs/contributing/editing-api-specs.md rename to docs/contributing/editing-api-specs.mdx diff --git a/docs/contributing/repo-structure.md b/docs/contributing/repo-structure.mdx similarity index 97% rename from docs/contributing/repo-structure.md rename to docs/contributing/repo-structure.mdx index 4c42d1e08..12bf4eedb 100644 --- a/docs/contributing/repo-structure.md +++ b/docs/contributing/repo-structure.mdx @@ -1,128 +1,128 @@ ---- -stoplight-id: sz5hf6lkwwyg5 ---- - -# CureDAO Monorepo - -The goal of this monorepo is to acheive maximum interoperability and minimum duplication of effort between the various projects in the digital health ecosystem. - -## Why a monorepo? - -**A monorepo is not a monolith**. - -In fact, a well-designed monorepo helps to avoid the creation of monolithic applications by providing maximum visibility and reusability between: -- UI components -- Analytical tools and models -- API documentation/libraries -- Data transformation pipelines - -This allows us to easily share code and data between projects. - -**But won't this be a massive dependency to use in other projects?** - -Hell, no. Libraries and components can automatically be published to NPM and consumed by other projects. So if you only need one library, you don't need to install the entire monorepo. And if you need to make a change to a library, you can do so in the monorepo and publish the new version to NPM. - -### More Info on Monorepos - -- [Monorepo in Git](https://www.atlassian.com/git/tutorials/monorepos) -- [Monorepo != monolith](https://blog.nrwl.io/misconceptions-about-monorepos-monorepo-monolith-df1250d4b03c) -- [Nrwl Nx Resources](https://nx.dev/latest/angular/getting-started/resources) - -Here's the base structure of our monorepo: - -``` -- apps/ - - {{appName}} <-- A complete user-facing application - - {{appName}}-e2e <-- Cypress end-to-end tests for the application -- libs/ - - {{apiName}}-api-spec <-- OpenAPI >3.0.1 specifications designed with Stoplight Studio - - {{apiName}}-sdk-{{language}} <-- Language-specific libraries for using APIs will live -- tools/ - - {{toolName}} <-- A tool that is not a user-facing application but is used by developers -``` - -## [How to add a new API](./add-an-api.md) - - -## NX Monorepo Helpers - -This project use [Nx](https://nx.dev) to manage the inter-related dependencies. - -πŸ”Ž **Smart, Fast and Extensible Build System** - -### Adding capabilities to your workspace - -Nx supports many plugins which add capabilities for developing different types of applications and different tools. - -These capabilities include generating applications, libraries, etc as well as the devtools to test, and build projects as well. - -Below are our core plugins: - -- [React](https://reactjs.org) - - `npm install --save-dev @nrwl/react` -- Web (no framework frontends) - - `npm install --save-dev @nrwl/web` -- [Angular](https://angular.io) - - `npm install --save-dev @nrwl/angular` -- [Nest](https://nestjs.com) - - `npm install --save-dev @nrwl/nest` -- [Express](https://expressjs.com) - - `npm install --save-dev @nrwl/express` -- [Node](https://nodejs.org) - - `npm install --save-dev @nrwl/node` - -There are also many [community plugins](https://nx.dev/community) you could add. - -### Generate an application - -Run `nx g @nrwl/react:app my-app` to generate an application. - -> You can use any of the plugins above to generate applications as well. - -When using Nx, you can create multiple applications and libraries in the same workspace. - -### Generate a library - -Run `nx g @nrwl/react:lib my-lib` to generate a library. - -> You can also use any of the plugins above to generate libraries as well. - -Libraries are shareable across libraries and applications. They can be imported from `@curedao/mylib`. - -### Development server - -Run `nx serve my-app` for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files. - -### Code scaffolding - -Run `nx g @nrwl/react:component my-component --project=my-app` to generate a new component. - -### Build - -Run `nx build my-app` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. - -### Running unit tests - -Run `nx test my-app` to execute the unit tests via [Jest](https://jestjs.io). - -Run `nx affected:test` to execute the unit tests affected by a change. - -### Running end-to-end tests - -Run `nx e2e my-app` to execute the end-to-end tests via [Cypress](https://www.cypress.io). - -Run `nx affected:e2e` to execute the end-to-end tests affected by a change. - -### Understand your workspace - -Run `nx graph` to see a diagram of the dependencies of your projects. - -### Further help - -Visit the [Nx Documentation](https://nx.dev) to learn more. - -## ☁ Nx Cloud - -### Distributed Computation Caching & Distributed Task Execution - -[Nx Cloud](https://nx.app/) pairs with Nx in order to enable you to build and test code more rapidly. +--- +stoplight-id: sz5hf6lkwwyg5 +--- + +# CureDAO Monorepo + +The goal of this monorepo is to acheive maximum interoperability and minimum duplication of effort between the various projects in the digital health ecosystem. + +## Why a monorepo? + +**A monorepo is not a monolith**. + +In fact, a well-designed monorepo helps to avoid the creation of monolithic applications by providing maximum visibility and reusability between: +- UI components +- Analytical tools and models +- API documentation/libraries +- Data transformation pipelines + +This allows us to easily share code and data between projects. + +**But won't this be a massive dependency to use in other projects?** + +Hell, no. Libraries and components can automatically be published to NPM and consumed by other projects. So if you only need one library, you don't need to install the entire monorepo. And if you need to make a change to a library, you can do so in the monorepo and publish the new version to NPM. + +### More Info on Monorepos + +- [Monorepo in Git](https://www.atlassian.com/git/tutorials/monorepos) +- [Monorepo != monolith](https://blog.nrwl.io/misconceptions-about-monorepos-monorepo-monolith-df1250d4b03c) +- [Nrwl Nx Resources](https://nx.dev/latest/angular/getting-started/resources) + +Here's the base structure of our monorepo: + +``` +- apps/ + - {{appName}} <-- A complete user-facing application + - {{appName}}-e2e <-- Cypress end-to-end tests for the application +- libs/ + - {{apiName}}-api-spec <-- OpenAPI >3.0.1 specifications designed with Stoplight Studio + - {{apiName}}-sdk-{{language}} <-- Language-specific libraries for using APIs will live +- tools/ + - {{toolName}} <-- A tool that is not a user-facing application but is used by developers +``` + +## [How to add a new API](./add-an-api.md) + + +## NX Monorepo Helpers + +This project use [Nx](https://nx.dev) to manage the inter-related dependencies. + +πŸ”Ž **Smart, Fast and Extensible Build System** + +### Adding capabilities to your workspace + +Nx supports many plugins which add capabilities for developing different types of applications and different tools. + +These capabilities include generating applications, libraries, etc as well as the devtools to test, and build projects as well. + +Below are our core plugins: + +- [React](https://reactjs.org) + - `npm install --save-dev @nrwl/react` +- Web (no framework frontends) + - `npm install --save-dev @nrwl/web` +- [Angular](https://angular.io) + - `npm install --save-dev @nrwl/angular` +- [Nest](https://nestjs.com) + - `npm install --save-dev @nrwl/nest` +- [Express](https://expressjs.com) + - `npm install --save-dev @nrwl/express` +- [Node](https://nodejs.org) + - `npm install --save-dev @nrwl/node` + +There are also many [community plugins](https://nx.dev/community) you could add. + +### Generate an application + +Run `nx g @nrwl/react:app my-app` to generate an application. + +> You can use any of the plugins above to generate applications as well. + +When using Nx, you can create multiple applications and libraries in the same workspace. + +### Generate a library + +Run `nx g @nrwl/react:lib my-lib` to generate a library. + +> You can also use any of the plugins above to generate libraries as well. + +Libraries are shareable across libraries and applications. They can be imported from `@curedao/mylib`. + +### Development server + +Run `nx serve my-app` for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files. + +### Code scaffolding + +Run `nx g @nrwl/react:component my-component --project=my-app` to generate a new component. + +### Build + +Run `nx build my-app` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. + +### Running unit tests + +Run `nx test my-app` to execute the unit tests via [Jest](https://jestjs.io). + +Run `nx affected:test` to execute the unit tests affected by a change. + +### Running end-to-end tests + +Run `nx e2e my-app` to execute the end-to-end tests via [Cypress](https://www.cypress.io). + +Run `nx affected:e2e` to execute the end-to-end tests affected by a change. + +### Understand your workspace + +Run `nx graph` to see a diagram of the dependencies of your projects. + +### Further help + +Visit the [Nx Documentation](https://nx.dev) to learn more. + +## ☁ Nx Cloud + +### Distributed Computation Caching & Distributed Task Execution + +[Nx Cloud](https://nx.app/) pairs with Nx in order to enable you to build and test code more rapidly. diff --git a/docs/home.md b/docs/home.mdx similarity index 85% rename from docs/home.md rename to docs/home.mdx index 53ba41eb5..99fbb6390 100644 --- a/docs/home.md +++ b/docs/home.mdx @@ -1,70 +1,72 @@ --- -title: The Decentralized FDA +title: πŸ’Š The Decentralized FDA 🌎 description: A platform to help the FDA and global regulatory agencies quantify the effects of millions of factors like foods, drugs, and supplements affect human health. --- -> This is a work in progress. Contributions are welcome! It's our goal to avoid any duplication of effort. So please include existing projects that would be interested in fulfilling any part of this global framework. +> 🚧 WORK IN PROGRESS! 🚧



+>Contributions are eternally appreciated!



+>It's our goal to avoid any duplication of effort. So please include existing projects that would be interested in fulfilling any part of this global framework. -# Problems the dFDA Solves +# πŸ˜• Why the hell are we doing this? The current system of clinical research, diagnosis, and treatment is miserably 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 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. The high costs lead to: -**1. No Data on Unpatentable Molecules** +βš›οΈ **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. ![chemicals-in-our-diet.svg](images/chemicals-in-our-diet.svg) -**2. Lack of Incentive to Discover Every Application of Off-Patent Treatments** +πŸ€‘ **2. Lack of Incentive to Discover Every Application of Off-Patent Treatments** Thousands of drugs were found to work for other diseases after the patent expired. Unfortunately, there isn't financial incentive to do any more research on them at this point. -**3. No Long-Term Outcome Data** +πŸ“† **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** +🀐 **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** +🎯 **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 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** +🀏 **6. We Only Know 0.000000002% of What is Left to be Researched** -**6. We've only studied [0.000000002%](https://www.centerwatch.com/articles/12702-new-mit-study-puts-clinical-research-success-rate-at-14-percent) of the [166 billion](https://www.nature.com/articles/549445a) potential medicinal molecules. +We've only studied [0.000000002%](https://www.centerwatch.com/articles/12702-new-mit-study-puts-clinical-research-success-rate-at-14-percent) of the [166 billion](https://www.nature.com/articles/549445a) potential medicinal molecules. ![studied-molecules-chart-no-background.svg](images/studied-molecules-chart-no-background.svg) -# Our Hypothesis +# πŸ§ͺ Our Hypothesis 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 the Decentralized FDA could also generate clinical discoveries 50X and 1000X times cheaper than current systems. -# Technical Architecture +# πŸ–₯️ Technical Architecture This is a very high-level overview of the architecture. It's a work in progress. Please contribute! ![dfda-stack-diagram-white-background.svg](images/dfda-stack-diagram-white-background.svg) -## Initial Prototype +## 🚧 Initial Prototype -We've implemented an initial monolithic prototype of this architecture in [apps/dfda-1](../apps/dfda-1). It would better be described as a Centralized Decentralized FDA. However, our goal is to a new, decentralized, simplified, modular, version of this broken into the components below. +We've implemented an initial monolithic prototype of this architecture in [apps/dfda-1](../apps/dfda-1). It would better be described as a Centralized Decentralized FDA. However, our goal is to a new, decentralized, simplified, modular, version of this broken into the components below. We don't want to reinvent the wheel in any way, so if there's an existing project that fulfills the requirements of a component, please [let us know](https://github.com/decentralized-fda/decentralized-fda/discussions) or contribute! ## 1. Data Silo API Gateway Nodes -dFDA 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](#2-personalfda-nodes). +dFDA 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](#2-personalfda-nodes). ### Tentative Requirements - OAuth2 Protected API @@ -77,11 +79,11 @@ dFDA Gateway API Nodes make it easy for data silos, such as hospitals and digita - Multiple Data Format Options - Data Structure Options -**[πŸ‘‰ Learn More](components/data-silo-api-gateways.md)** +**πŸ‘‰[Learn More](components/data-silo-api-gateways.md)** ## 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 dFDA Wiki](#3-clinipediathe-wikipedia-of-clinical-research) in a secure and privacy-preserving manner. +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 dFDA Wiki](#3-clinipediathe-wikipedia-of-clinical-research) 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. @@ -98,11 +100,11 @@ A local application for self-sovereign import and storage of personal data. - Multifactorial and Biometric Security - Data Sharing Controls -**[πŸ‘‰ Learn More](components/digital-twin-safe.md)** +**πŸ‘‰[Learn More or Contribute to Digital Twin Safe](components/digital-twin-safe.md)** ### 2.2. 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. +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](images/data-import-and-analysis.gif) @@ -114,7 +116,7 @@ Optimitron is an AI assistant that asks you about your symptoms and potential fa #### Data Analysis -Currently, we've implemented causal inference analysis of sparse time series data that takes into account onset delays and other factors. +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](images/causal-inference-vertical.svg) @@ -124,7 +126,7 @@ Ideally, Optimitron AI agent will be able to further improve the precision and a ## 3. Clinipediaβ€”The Wikipedia of Clinical Research -The Clinipedia wiki 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. +The Clinipedia wiki 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. ![outcome-labels.png](components/outcome-labels/outcome-labels.png) @@ -134,7 +136,7 @@ The Clinipedia wiki should be a global knowledge repository containing the aggre - Directory of Data Silos and Instructions for Individuals to Export Their Data to their Digital Twin Safes - Inter-Jurisdictional Comparative Policy Analysis of the Outcomes of Regulatory Decisions - Outcome Labels List the Degree to Which the Product is Likely to Improve or Worsen Specific Health Outcomes or Symptoms - - Certification of Intervention Manufacturers/Sources + - Certification of Intervention Manufacturers/Sources - Intervention Effectiveness Ranking for Specific Outcomes or Conditions - Decentralized Clinical Trial Coordination and Protocols @@ -142,7 +144,7 @@ The Clinipedia wiki should be a global knowledge repository containing the aggre # AI Collective Intelligence Platform -A collective intelligence coordination platform is needed for facilitating cooperation, communication, and collaborative actions among contributors. +A collective intelligence coordination platform is needed for facilitating cooperation, communication, and collaborative actions among contributors. ## Desired Features diff --git a/docs/roadmap.md b/docs/roadmap.mdx similarity index 100% rename from docs/roadmap.md rename to docs/roadmap.mdx diff --git a/docs/stuff-that-sucks.md b/docs/stuff-that-sucks.mdx similarity index 100% rename from docs/stuff-that-sucks.md rename to docs/stuff-that-sucks.mdx