diff --git a/.DS_Store b/.DS_Store index 5dd2e137..3b275751 100755 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.gitignore b/.gitignore index 53f351c6..52fa51f5 100755 --- a/.gitignore +++ b/.gitignore @@ -190,4 +190,7 @@ rarelink-cdm-processed.json rarelink_apiconfig.json # Local FHIR server configuration -hapi-fhir \ No newline at end of file +hapi-fhir + +# test data +.res/phenopackets_test/ \ No newline at end of file diff --git a/docs/.DS_Store b/docs/.DS_Store index 62ebef5e..0e870220 100755 Binary files a/docs/.DS_Store and b/docs/.DS_Store differ diff --git a/docs/1_background/1_0_background_file.rst b/docs/1_background/1_0_background_file.rst index 67b5ff1e..ba5a3d5f 100755 --- a/docs/1_background/1_0_background_file.rst +++ b/docs/1_background/1_0_background_file.rst @@ -1,7 +1,7 @@ .. _1_0: Background -========== +============= RareLink was developed as a response to the widespread challenges in rare disease (RD) data management, specifically the lack of interoperability and diff --git a/docs/1_background/1_2_ontologies.rst b/docs/1_background/1_2_ontologies.rst index e06842ec..e234930e 100755 --- a/docs/1_background/1_2_ontologies.rst +++ b/docs/1_background/1_2_ontologies.rst @@ -34,6 +34,7 @@ Ontologies used in RareLink The following codesystems are used in the RareLink Core Framework: .. fields: Ontologies Used in RareLink + :`ICD-10 & ICD-11 `_: The **International Statistical Classification of Diseases** is used for documenting morbidity in healthcare systems, encoding mortality statistics, @@ -92,9 +93,8 @@ The following codesystems are used in the RareLink Core Framework: The **Sequence Ontology** provides standardized vocabulary for genomic annotation components, enhancing sharing and analysis of genomic information. - .. note:: The versions used by the RareLink Core Framework can be found here: - `RareLink Ontologies < + `RareLink Ontologies `_. Further Reading --------------- diff --git a/docs/2_rarelink_framework/2_0_rarelink_file.rst b/docs/2_rarelink_framework/2_0_rarelink_file.rst index 867c4479..ba3ea932 100755 --- a/docs/2_rarelink_framework/2_0_rarelink_file.rst +++ b/docs/2_rarelink_framework/2_0_rarelink_file.rst @@ -3,11 +3,6 @@ RareLink Framework ================== -.. attention:: - To use your local REDCap project, you will need to set up a local REDCap - instance. For this please contact your local REDCap administratior. A project - name could for example be "RareLink - Your local REDCap location". - In this section we elaborate on the development of the RareLink framework, how it is designed to facilitate the management of rare disease data, and how it supports the creation of interoperable and reusable datasets. We provide an diff --git a/docs/2_rarelink_framework/2_2_rarelink_cdm.rst b/docs/2_rarelink_framework/2_2_rarelink_cdm.rst index 53f60a09..a4e680b1 100755 --- a/docs/2_rarelink_framework/2_2_rarelink_cdm.rst +++ b/docs/2_rarelink_framework/2_2_rarelink_cdm.rst @@ -1,9 +1,9 @@ .. _2_2: RareLink-CDM -============================= +============= -.. warning:: +.. attention:: RareLink v2.0.0.dev0 is under development (the REDCap sheets may be subject to change). Please :ref:`12` us before using it to ensure you have the latest updates and guidance. @@ -21,20 +21,108 @@ instrument, ensuring consistency and comprehensive data capture. - Read the :ref:`1_5` page for more information on the Rare Disease Common Data Model. -RareLink-CDM Data Dictionary ----------------------------- +Contents +---------- -- :download:`RareLink-CDM Data Dictionary (v2.0.0.dev0) <../../res/rarelink_cdm_datadictionary - v2_0_0_dev0.csv>` +- :ref:`rarelink_cdm_datadictionary` +- :ref:`rarelink_cdm_linkml` +- :ref:`rule-set` +- :ref:`field-anotations` +- :ref:`cdm_overview` -RuleSet for Codes and Codesystems -__________________________________ +_____________________________________________________________________________________ + +.. _rarelink_cdm_datadictionary: + +REDCap Data Dictionary +----------------------- + +The RareLink CDM Data Dictionary is available for download as a CSV file: + +:download:`Download: RareLink-CDM Data Dictionary (v2.0.0.dev0) <../../res/rarelink_cdm_datadictionary - v2_0_0_dev0.csv>` + +... Next steps +________________ + +- ... read :ref:`3_1` for more information on how to manually import and set up + the RareLink-CDM Data Dictionary into your local REDCap project. +- ... or run the following commands to directly import the data dictionary into + your REDCap project using the :ref:`2_3`: + +.. code-block:: bash + + rarelink setup keys + rarelink setup data-dictionary + +Return to `Top <#top>`_. + +_____________________________________________________________________________________ + +.. _rarelink_cdm_linkml: + +LinkML Schema +--------------- + +The RareLink-CDM has been encoded in the LinkML schema format to allow for +interoperability with other data models and standards. The LinkML schema +is an open-data modeling language and provides a machine-readable representation +of the RareLink-CDM, including the data elements, codes, and mappings to other +standards. In other words, the RareLink REDCap instruments are displayed in a +structured format that so that LinkML modules and functionalities can be used. + + +- Here you can view the `LinkML schema of the RareLink-CDM v2.0.0.dev0 `_. + +Usage +_______ + +We use RareLink-CDM-LinkML schema and functionalities in various RareLink +modules, for example: + +- When running ``rarelink redcap export-records`` you will see, that the data + from the REDCap project is automatically processed to the LinkML presentation + of the RareLink-CDM and validated against it. This ensures the data is ready + to :ref:`4_3`. +- Within the data model itself, we use its `python classes and properties `_ + automatically generated by LinkML schema to ensure consistent use of code + systems, versions and codes within one RareLink-CDM version and its mappings. +- Since our RareLink-CDM is modeled and defined with LinkML, we can make use + of the `LinkML Schema Automator `_ + for :ref:`4_2` from existing (tabular) databases. This allows import it into + a REDCap project and allow you to :ref:`4_3` or :ref:`4_4`. + +LinkML - furhther links +________________________ + +To know more about LinkML, check out: + +- The `LinkML GitHub repository `_ or +- the `LinkML Schema Documentation `_. + +Feel free to :ref:`12` us in case you would like to be connected to the LinkML +community or our colleagues from the `Monarch Initiative `_. + + + +Return to `top <#top>`_. + + +_____________________________________________________________________________________ + +.. _rule-set: + +Rules for REDCap codes and codesystems +--------------------------------------- REDCap variables and choice codes have specific limitations and requirements: -- REDCap recommends a maximum of 26 characters for variable names. We have shortened the variable names to adhere to this limitation. -- REDCap variables must be unique and must not contain spaces or special characters, i.e. only alphanumeric characters and underscores. -- REDCap choice codes must be unique and must not contain spaces or special characters, i.e. only alphanumeric characters and underscores. +- REDCap recommends a maximum of 26 characters for variable names. We have + shortened the variable names to adhere to this limitation. +- REDCap variables must be unique and must not contain spaces or special + characters, i.e. only alphanumeric characters and underscores. +- REDCap choice codes must be unique and must not contain spaces or special + characters, i.e. only alphanumeric characters and underscores. To address these, we have defined a set of rules for the REDCap variables and choice codes in the RareLink CDM Data Dictionary. The rules are as follows: @@ -47,22 +135,14 @@ choice codes in the RareLink CDM Data Dictionary. The rules are as follows: 6) All codes begin with the official codesystem prefix (e.g. HP, SNOMED, etc.) as a lower case string followed by an underscore and the code. 7) All codes are defined in the Field Annotations of each data element. -Return to `Top <#top>`_. - -Download -________ - -The RareLink CDM Data Dictionary is available for download as a CSV file: - -:download:`Download RareLink CDM Data Dictionary v2.0.0.dev0 <../..//res/rarelink_v2_0_0_dev0_datadictionary.csv>` +Return to `top <#top>`_. -.. tip:: - Read :ref:`3_1` for more information on how to import the RareLink CDM Data Dictionary into your local REDCap project. +_____________________________________________________________________________________ -Return to `Top <#top>`_. +.. _field-anotations: -Field Annotations -_________________ +REDCap Field Annotations +------------------------- Witin the Field Annotation field of each REDCap element, we have defined each element's metadata according to the :ref:`1_5` standard, including the following: @@ -74,31 +154,30 @@ element's metadata according to the :ref:`1_5` standard, including the following Example Field Annotation of 6.2.6 Temporal Pattern: -.. code-block:: text - +.. code-block:: bash + Variable: - HP:0011008 | Temporal Pattern + HP:0012824 | Severity Choices: - - HP:0011009 | Acute - - HP:0011010 | Chronic - - HP:0031914 | Fluctuating - - HP:0025297 | Prolonged - - HP:0031796 | Recurrent - - HP:0031915 | Stable - - HP:0011011 | Subactue - - HP:0025153 | Transient + - HP:0012827 | Borderline + - HP:0012825 | Mild + - HP:0012826 | Moderate + - HP:0012829 | Profound + - HP:0012828 | Severe Version(s): - HPO Version 2024-08-13 Mapping: - HL7 FHIR Expression v4.0.1: Observation.interpretation - - GA4GH Phenopacket Schema v2.0 Element: PhenotypicFeature.modifiers + - GA4GH Phenopacket Schema v2.0 Element: PhenotypicFeature.severity -Return to `Top <#top>`_. +Return to `top <#top>`_. + +_____________________________________________________________________________________ -.. _cdm-instruments-overview: +.. _cdm_overview: RareLink-CDM Instruments ------------------------- +------------------------- The RareLink-CDM instruments translate the `ontology-based Rare Disease Common Data Model (RD-CDM) `_ into REDCap instruments, ensuring usability for registry implementation while @@ -107,17 +186,17 @@ and the `GA4GH Phenopacket Schema `_ -- `2. Personal Information <#personal-information>`_ -- `3. Patient Status <#patient-status>`_ -- `4. Care Pathway <#care-pathway>`_ -- `5. Disease <#disease>`_ -- `6.1 Genetic Findings <#genetic-findings>`_ -- `6.2 Phenotypic Features <#phenotypic-features>`_ -- `6.3 Measurements <#measurements>`_ -- `6.4 Family History <#family-history>`_ -- `7. Consent <#consent>`_ -- `8. Disability <#disability>`_ +- :ref:`formal-criteria` +- :ref:`personal-information` +- :ref:`patient-status` +- :ref:`care-pathway` +- :ref:`disease` +- :ref:`genetic-findings` +- :ref:`phenotypic-features` +- :ref:`measurements` +- :ref:`family-history` +- :ref:`consent` +- :ref:`disability` Return to `Top <#top>`_. @@ -127,7 +206,7 @@ Return to `Top <#top>`_. .. _formal-criteria: (1) Formal Criteria -------------------- +_____________________ **Purpose**: Captures eligibility and registration information for individuals. @@ -140,12 +219,12 @@ Return to `Top <#top>`_. **Adjustments from the RD-CDM**: - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. +Return to `Instruments Overview <#cdm-instruments-overview>`_. .. _personal-information: (2) Personal Information ------------------------- +__________________________ **Purpose**: Records demographic and personal data. @@ -158,12 +237,12 @@ Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. **Adjustments from the RD-CDM**: - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. +Return to `Instruments Overview <#cdm-instruments-overview>`_. .. _patient-status: (3) Patient Status ------------------- +____________________ **Purpose**: Tracks changes in patient conditions over time. @@ -176,12 +255,12 @@ Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. **Adjustments from the RD-CDM**: - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. +Return to `Instruments Overview <#cdm-instruments-overview>`_. .. _care-pathway: (4) Care Pathway ----------------- +__________________ **Purpose**: Logs encounter-specific data. @@ -194,12 +273,12 @@ Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. **Adjustments from the RD-CDM**: - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. +Return to `Instruments Overview <#cdm-instruments-overview>`_. .. _disease: (5) Disease ------------ +____________ **Purpose**: Details disease history and ontology mappings. @@ -212,12 +291,12 @@ Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. **Adjustments from the RD-CDM**: - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. +Return to `Instruments Overview <#cdm-instruments-overview>`_. .. _genetic-findings: (6.1) Genetic Findings ------------------------ +_________________________ **Purpose**: Captures genetic variant information. @@ -230,12 +309,12 @@ Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. **Adjustments from the RD-CDM**: - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. +Return to `Instruments Overview <#cdm-instruments-overview>`_. .. _phenotypic-features: (6.2) Phenotypic Features -------------------------- +__________________________ **Purpose**: Encodes phenotypes and their modifiers. @@ -243,32 +322,42 @@ Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. - [Insert Core Variables Here] **Adjustments for REDCap**: + - **Simplified Field Names**: Shortened and formatted for REDCap constraints: + - `snomed_439272007_704321009_363778006` -> `snomed_8116006_date` - `ga4gh_phenotypicfeature_excluded` -> `ga4gh_pheno_excluded` + - **Modifiers Grouping**: Introduced consistent naming for modifiers: + - HPO Modifiers: + - `ga4gh_phenotypicfeature_modifier_hp_1` -> `ga4gh_pheno_mod_hp1` - `ga4gh_phenotypicfeature_modifier_hp_2` -> `ga4gh_pheno_mod_hp2` - `ga4gh_phenotypicfeature_modifier_hp_3` -> `ga4gh_pheno_mod_hp3` + - NCBITaxon Modifiers: + - `ga4gh_phenotypicfeature_modifier_ncbitaxon_1` -> `ga4gh_pheno_mod_ncbitax1` - `ga4gh_phenotypicfeature_modifier_ncbitaxon_2` -> `ga4gh_pheno_mod_ncbitax2` - `ga4gh_phenotypicfeature_modifier_ncbitaxon_3` -> `ga4gh_pheno_mod_ncbitax3` + - SNOMED Modifiers: + - `ga4gh_phenotypicfeature_modifier_snomed_1` -> `ga4gh_pheno_mod_snomed1` - `ga4gh_phenotypicfeature_modifier_snomed_2` -> `ga4gh_pheno_mod_snomed2` - `ga4gh_phenotypicfeature_modifier_snomed_3` -> `ga4gh_pheno_mod_snomed3` **Adjustments from the RD-CDM**: + - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. +Return to `Instruments Overview <#cdm-instruments-overview>`_. .. _measurements: (6.3) Measurements ------------------- +____________________ **Purpose**: Records clinical and laboratory data. @@ -281,12 +370,12 @@ Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. **Adjustments from the RD-CDM**: - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. +Return to `Instruments Overview <#cdm-instruments-overview>`_. .. _family-history: (6.4) Family History --------------------- +______________________ **Purpose**: Details familial relationships and genetic predispositions. @@ -299,12 +388,12 @@ Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. **Adjustments from the RD-CDM**: - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. +Return to `Instruments Overview <#cdm-instruments-overview>`_. .. _consent: (7) Consent ------------ +_____________ **Purpose**: Documents patient consent details. @@ -317,12 +406,12 @@ Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. **Adjustments from the RD-CDM**: - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. +Return to `Instruments Overview <#cdm-instruments-overview>`_. .. _disability: (8) Disability --------------- +_______________ **Purpose**: Captures ICF-encoded functional and disability data. @@ -335,4 +424,4 @@ Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. **Adjustments from the RD-CDM**: - [Insert Adjustments from the RD-CDM Here] -Return to `RareLink-CDM Instruments Overview <#cdm-instruments-overview>`_. \ No newline at end of file +Return to `Instruments Overview <#cdm-instruments-overview>`_. \ No newline at end of file diff --git a/docs/2_rarelink_framework/2_3_rarelink_cli.rst b/docs/2_rarelink_framework/2_3_rarelink_cli.rst index c7dfd986..498ee87b 100755 --- a/docs/2_rarelink_framework/2_3_rarelink_cli.rst +++ b/docs/2_rarelink_framework/2_3_rarelink_cli.rst @@ -119,7 +119,7 @@ ________________________________________________________________________________ file to prevent accidental sharing of sensitive information. -3. REDCap Tools (``redcap-tools``) +3. REDCap Tools (``redcap``) ___________________________________ Commands for interacting with an already-configured REDCap instance, i.e. your @@ -147,6 +147,14 @@ Download records from your REDCap project as JSON files and save them locally. _____________________________________________________________________________________ +.. code-block:: console + + rarelink redcap-tools fetch-metadata + +- Fetch all metadata from your current REDCap project. + +_____________________________________________________________________________________ + .. code-block:: console rarelink redcap-tools upload-records (to be implemented) @@ -208,3 +216,15 @@ ________________________________________________________________________________ redcap-api-setup start` to set up a REDCap project and API access. - `download-records` (fetch records as JSON files) + + +5. Phenopacket Export (``phenopacket``) +________________________________________ + +Export data to Phenopackets using the ToPhenopacket pipeline. + +.. code-block:: console + + rarelink phenopacket export + +- Exports REDCap from your configured project data to local Phenopackets. \ No newline at end of file diff --git a/docs/3_installation/3_0_install_file.rst b/docs/3_installation/3_0_install_file.rst index 7140ba8d..196692a4 100755 --- a/docs/3_installation/3_0_install_file.rst +++ b/docs/3_installation/3_0_install_file.rst @@ -1,19 +1,19 @@ .. _3_0: -Installation Guide +Installation ==================== +This section provides installation guides for all components of the RareLink +framework. .. toctree:: - :maxdepth: 4 - :caption: Contents: - + :hidden: + 3_1_setup_rarelink_framework 3_2_setup_redcap_project 3_3_data_dictionary 3_4_redcap_api - \ No newline at end of file diff --git a/docs/3_installation/3_2_setup_redcap_project.rst b/docs/3_installation/3_2_setup_redcap_project.rst index 0494cd3c..2ba0cea4 100755 --- a/docs/3_installation/3_2_setup_redcap_project.rst +++ b/docs/3_installation/3_2_setup_redcap_project.rst @@ -9,8 +9,8 @@ Set up a REDCap Project -How to set up a REDCap project: -------------------------------- +Steps +------ To create a REDCap project, please follow these steps: @@ -31,7 +31,7 @@ To create a REDCap project, please follow these steps: _____________________________________________________________________________________ -Next Steps and further reading: +Next Steps and further reading ------------------------------- - Read the :ref:`1_6` section to learn more about the REDCap API access. @@ -40,8 +40,8 @@ Next Steps and further reading: _____________________________________________________________________________________ -RareLink CLI Commands: ---------------------- +RareLink CLI Commands +---------------------- .. code-block:: bash diff --git a/docs/3_installation/3_3_data_dictionary.rst b/docs/3_installation/3_3_data_dictionary.rst index 7899adaa..237d7de1 100755 --- a/docs/3_installation/3_3_data_dictionary.rst +++ b/docs/3_installation/3_3_data_dictionary.rst @@ -1,8 +1,8 @@ .. _3_3: -Data Dictionary -================ +Set up the Data Dictionary +========================== .. warning:: RareLink v2.0.0.dev0 is under development. Please :ref:`12` us before using @@ -15,6 +15,9 @@ REDCap project. Read the :ref:`2_2` section to learn more about the RareLink CDM Instruments. In case you have any questions, please contact your local REDCap administrator, or :ref:`12` us. +Installation +------------- + _____________________________________________________________________________________ 1. **Download the instruments from the RareLink REDCap project.** @@ -33,24 +36,26 @@ Otherwise you can also import the instruments manually: - Go to your REDCap project. - Click on the "Designer" tab on the left side of the screen. -- Click on the "Data Dictionary" tab on the top of the screen. -- Select the RareLink CDM Data Dictionary CSV file, or the separate instrument csv files. -- Click on the "Import" button. - -_____________________________________________________________________________________ .. image:: ../_static/res/redcap_gui_screenshots/DesignerTab.jpg :alt: Designer tab :align: center :width: 400px - :height: 250px _____________________________________________________________________________________ +- Click on the "Data Dictionary" tab on the top of the screen. + + .. image:: ../_static/res/redcap_gui_screenshots/DataDictionary.jpg :alt: Data Dictionary tab :align: center - :width: 600px + :width: 400px + +_____________________________________________________________________________________ + +- Select the RareLink CDM Data Dictionary CSV file, or the separate instrument csv files. +- Click on the "Import" button. _____________________________________________________________________________________ @@ -62,9 +67,24 @@ ________________________________________________________________________________ - the instruments are consistent with the RareLink CDM Data Dictionary. - the fields with BioPortal are connected properly. + +_____________________________________________________________________________________ + +4. **Activate the repeating instruments feature** + +- Go to the ``Project Setup`` tab. +- Within the section Enable optional modules and customizations click + on the **`Enable` Repeating Instruments** checkbox. +- Enable repeating instruments for the following instruments: + +.. image:: ../_static/res/rarelink-cdm-repeating-instruments.jpg + :alt: RareLink CDM Repeating Instruments + :align: center + :width: 400px + _____________________________________________________________________________________ -4. **Start capturing data with the RareLink CDM instruments.** +5. **Start capturing data with the RareLink CDM instruments.** Check out the :ref:`4_1` or the :ref:`4_2` section to learn more about the semi-automatic import of data. diff --git a/docs/4_user_guide/4_0_guide_file.rst b/docs/4_user_guide/4_0_guide_file.rst index 35fb20a2..4e72a9e1 100755 --- a/docs/4_user_guide/4_0_guide_file.rst +++ b/docs/4_user_guide/4_0_guide_file.rst @@ -3,16 +3,19 @@ RareLink User Guide ==================== +This section provides user guides for all components of the RareLink framework. + .. toctree:: :maxdepth: 4 :caption: Contents: 4_1_manual_data_capture 4_2_import_mapper - 4_3_phenopacket_mapper + 4_3_phenopackets 4_4_tofhir_module 4_5_develop_redcap_instruments - 4_6_redcap_project_interaction + 4_6_redcap_tools + diff --git a/docs/4_user_guide/4_1_manual_data_capture.rst b/docs/4_user_guide/4_1_manual_data_capture.rst index 3b1e5abe..eb19d6aa 100755 --- a/docs/4_user_guide/4_1_manual_data_capture.rst +++ b/docs/4_user_guide/4_1_manual_data_capture.rst @@ -1,7 +1,7 @@ .. _4_1: -Guide for Manual Data Capture -=============================== +Manual Data Capture Guide +========================== .. hint:: This section offers detailed guidance for manually entering data into @@ -245,6 +245,10 @@ This section provides details about genetic findings: - **6.1.2 Progress Status of Interpretation**: recommended when creating GA4GH Phenopackets. - **6.1.3 Interpretation Status**: recommended when creating GA4GH Phenopackets. +- Phenopacket Value Sets: + - Progress Status: ga4gh_unknown_progress, No information is available about the diagnosis | ga4gh_in_progress, No diagnosis has been found to date but additional differential diagnostic work is in progress. | ga4gh_completed, The work on the interpretation is complete. | ga4gh_solved, The interpretation is complete and also considered to be a definitive diagnosis | ga4gh_unsolved, The interpretation is complete but no definitive diagnosis was found + - Interpretation Status: ga4gh_unknown_status, No information is available about the status | ga4gh_rejected, The variant or gene reported here is interpreted not to be related to the diagnosis | ga4gh_candidate, The variant or gene reported here is interpreted to possibly be related to the diagnosis | ga4gh_contributory, The variant or gene reported here is interpreted to be related to the diagnosis | ga4gh_causative, The variant or gene reported here is interpreted to be causative of the diagnosis + - Therapeutic Actionability: ga4gh_unknown_actionability, There is not enough information at this time to support any therapeutic actionability for this variant | ga4gh_not_actionable, This variant has no therapeutic actionability. | ga4gh_actionable, This variant is known to be therapeutically actionable. .. attention:: The quality of the variant's validated HGVS expression is crucial for the diff --git a/docs/4_user_guide/4_2_import_mapper.rst b/docs/4_user_guide/4_2_import_mapper.rst index 2544bdcf..5d927fb7 100755 --- a/docs/4_user_guide/4_2_import_mapper.rst +++ b/docs/4_user_guide/4_2_import_mapper.rst @@ -9,18 +9,44 @@ Semi-Automatic Data Capture While there are many existing data bases in rare disease centres and hospitals, -the data is often not in a structured format. RareLink provides a semi-automatic -data capture configuration using the Schema Automator that allows users to -capture data from existing databases and convert it into a structured format - -in our case the RareLink-CDM LinkML schema. +the data is often not in a structured format. As the RareLink-CDM is a modeled +with LinkML, there are tools to convert existing data into a LinkML schema. +While we currently have not implemented a full conversion tool, we are happy +to assist you in converting your data into a LinkML schema. -.. attention:: - This section is still to be implemented in the docuemntation and the RareLink - command line interface. +Although the semi-automation can speed up the process of capturing existing data +bases, the semantic mapping will still have to be done by you. +The semantic mapping and encoding of all data elements and value sets +to :ref:`1_2` and validating genetic mutations with HGVS is a crucial step +in the process of converting data into the RareLink-CDM format for +Phenopackets of FHIR export. -Via the RareLink CLI type: +RareLink-CDM LinkML +------------------- + +In this seciton :ref:`rarelink_cdm_linkml` we elaborate on the development of the +RareLink-CDM LinkML schema, how it is designed and where it can be found. +This schema is the basis for REDCap data to be converted to and validated +against when running ``rarelink redcap export-records``. It was designed to be +light-weight and as close as possible to the original REDCap data model so that +other REDCap projects can also use the :ref:`rarelink-phenopacket-module`. + + +LinkML schema-automator +------------------------ +The LinkML schema-automator is a toolkit that assists with generating and +enhancing schemas and data models from a variety of sources. The primary end +target is a LinkML schema, but the framework can be used to generate +JSON-Schema, SHACL, SQL DDL etc via the LinkML Generator framework. All +functionality is available via a cli. The functionality is also available +by using the relevant Python Packages. + +- `LinkML Schema-Automator documentation `_ +- `LinkML Schema-Automator GitHub repository `_ + +.. note:: + Feel free to :ref:`12` us in case you would like to be connected to the LinkML + community or our colleagues from the `Monarch Initiative `_. -.. code-block:: bash - rarelink import -file -map diff --git a/docs/4_user_guide/4_3_phenopacket_mapper.rst b/docs/4_user_guide/4_3_phenopacket_mapper.rst deleted file mode 100755 index 500d02cb..00000000 --- a/docs/4_user_guide/4_3_phenopacket_mapper.rst +++ /dev/null @@ -1,81 +0,0 @@ -.. _4_3: - -Generate GA4GH Phenopackets -============================ - -.. attention:: - This section is still to be implemented in the docuemntation and the RareLink - command line interface. - -The Phenopacket Mapper allows users to generate validated GA4GH Phenopackets -from any tabular data. Rarelink specifies the how the data should be formatted -and coded and sheet should be built within REDCap to generate validated GA4GH -Phenopackets. These specifications were preconfigured into the Phenopacket -Mapper for seamless generation of GA4GH Phenopackets from REDCap data. - -Via the RareLink CLI type: - -.. code-block:: bash - - rarelink phenopackets setup - rarelink phenopackets export - -RareLink Phenopacket Mapper Configuration -_________________________________________ - -RareLink - RD CDM v2.0 ----------------------- - -RareLink provides all REDCap sheets that displa data in the Rare Disease -Common Data Model v2.0 (RD CDM) with predefined mappings to generate GA4GH -Phenopackets. These mappings are defined in a configuration file that is -provided with the Phenopacket Mapper module. All data from the RD CDM can be -exported to GA4GH Phenopackets using the Phenopacket Mapper module. - -RD CDM v2.0 -> RareLink Sheets -> preconfigured Phenopacket ---> validated GA4GH Phenopackets - - -RareLink - Data Extending RD CDM --------------------------------- - -For all data extending the RD CDM, we predefined a set of rules that can be used -to develop further REDCap forms. If these rules are followed, the sheet -variables can be used to map the REDCap data to the GA4GH Phenopackets Schema. -We provide example sheets that can be used to capture data that extends the RD -CDM to capture specific Phenopacket Building Blocks. - - -Extensions around RD CDM --> Rules for REDCap Sheets -> (example sheets to -download and use) -> RareLink preconfiguration in Phenopacket Mapper ---> validated GA4GH Phenopackets - - - -Definition REDCap variable suffixes for Phenopacket Mapper -__________________________________________________________ - -The Phenopacket Mapper can prinicapally process any kind of data to generate GA4GH Phenopackets -if mapped and processed correctly. -As elaborated in the REDCap section, REDCap variables and choice codes have specific -limitations and requirements: - -- REDCap variables - - must be unique - - must not contain spaces or special characters, i.e. only alphanumeric characters and underscores - - should not be longer than 26 characters - - - -Disease Block -------------- - - -PhenotypicFeature Block ------------------------- - - - - - - diff --git a/docs/4_user_guide/4_3_phenopackets.rst b/docs/4_user_guide/4_3_phenopackets.rst new file mode 100755 index 00000000..2fe78c4a --- /dev/null +++ b/docs/4_user_guide/4_3_phenopackets.rst @@ -0,0 +1,296 @@ +.. _4_3: + +Generate Phenopackets +====================== + +The RareLink-Phenopacket module allows users to generate (validated) :ref:`1_3` +from data stored in a local REDCap project. For the :ref:`2_2` all mappings and +configurations except the :ref:`family-history` section are predefined so that +Phenopackets can be instantly exported via the :ref:`2_3`. + +The RareLink-Phenopacket module is designed to be modular and flexible so that +it can be adapted to other REDCap data structures. Please see the section below. + +_____________________________________________________________________________________ + +**Overview**: + +- :ref:`get_started` +- :ref:`rarelink-phenopacket-export` +- :ref:`rarelink-phenopacket-module` + + - :ref:`phenopackets-other-redcap-data-models` + - :ref:`phenopacket-mappings` + - :ref:`label-dicts` + - :ref:`mapping-dicts` + + +.. _get_started: + +Get started +------------------- + +To use the Phenopacket export, you need a running REDCap project with API access +and the RareLink-CDM instruments set up. You also need the framework and all its +components running. You can run the following commands to set everything up: + +- ``rarelink framework update`` to update the framework and all components. +- ``rarelink setup redcap-project`` to set up a REDCap project with your REDCap + administrator. +- ``rarelink setup keys`` to set up the REDCap API access locally. + +_____________________________________________________________________________________ + + +.. _rarelink-phenopacket-export: + + +RareLink-CDM to Phenopackets +----------------------------- + +Once you have data captured in you REDCap project using the :ref:`2_2` REDCap +instruments, you can export the data to Phenopackets. The data is exported to +one Phenopacket JSON file per individual and can be used for further analysis. + +- For this, simply run: + +.. code-block:: bash + + rarelink phenopackets export + + +And you will be guided through the exporting process. The Phenopackets will be +exported to the configured output directory (default is your Downloads folder). + +.. note:: + Make sure you comply with your local data protection regulations and ethical + agreements before exporting the data! + +_____________________________________________________________________________________ + + +.. _rarelink-phenopacket-module: + + +RareLink-Phenopacket module +--------------------------- + +The RareLink-Phenopacket module is developed in a modular way to allow for easy +adaptation to other REDCap data structures. All data model specific +configurations and mappings of the :ref:`2_2` are within its `GitHub folder `_. +Therefore, all functions and modules we developed can be used or adapted for +other REDCap data models extending the :ref:`2_2` once the data model is +converted to a similar :ref:`LinkML schema `. + +Overview +_________ + +To provide an overview, the RareLink-Phenopacket module consists of the following +components: + +- ``mappings`` (`GitHub Folder `_): + Contains all the mappings from the REDCap data model to the + respective blocks in the Phenopacket schema without containing data-model + specific values or codes. +- ``DataProcessor`` Class (`GitHub Folder `_): + Contains all functions to process any REDCap data to Phenopacket-compliant + data, including *field fetching*, *data drocessing*, *data validation*, + *Label & Mapping*, *repeated element*, and *generation* methods. +- ``create`` (`GitHub Folder `_): + Contains the main function to generate Phenopackets from the processed data. +- ``write`` (`GitHub Folder `_): + Contains the function to write the generated Phenopackets to a JSON file. +- ``phenopacket pipeline`` (`GitHub Folder `_): + Contains the pipeline to generate Phenopackets from the processed data. + + +_____________________________________________________________________________________ + +.. _phenopackets-other-redcap-data-models: + +Usage for other REDCap data models +____________________________________ + +If you want to adapt the RareLink-Phenopacket module to another REDCap data model, +you can follow these steps: + +1. Develop your REDCap sheets and instruments according to the :ref:`4_5` + section. Try to use the RareLink-CDM for as much as you can - this will + make the mapping and export process easier. + + + +2. (OPTIONAL): Convert your REDCap data model to a :ref:`LinkML schema `. + This can be done by following the instructions in the :ref:`2_2` section. + +3. Convert your REDCap data model using the ``redcap_to_linkml`` function you + in the RareLink Utils. This will convert your REDCap data to a + JSON schema that handles repeating elements more inherently. This allows + the ``mappings`` to handle repeating elements and Phenopacket Blocks. + +4. Write the specific mappings from your REDCap data model to the Phenopacket + schema, using the templates for the mappings below (:ref:`phenopacket-mappings`). + +5. Develop label dictionaries for all value sets of your data model, + mapping codes to human-readable labels (best to use the ontologie's + `preferred label`) . Use the templates for the label dictionaries below ( + :ref:`label-dicts`). This will allow the ``DataProcessor`` class to fetch + the labels for the codes in your data model using the ``fetch_label`` method. + + - For REDCap fields that are connected to BIOPORTAL directly, the label will + be automatically fetched via the BIOPORTAL API. + +6. Develop mapping dictionaries for your data model, mapping codes to + standardized terms or enums. Use the templates for the mapping dictionaries + below (:ref:`mapping-dicts`). + +7. Use the mappings in the ``mappings`` folder of the RareLink-Phenopacket + module as a template to adapt the mappings to other Phenopacket blocks or + extensions in your model. + +8. Adapt the ``create`` function to your needs, if necessary extending it with + the relevant Phenopacket blocks and elements and importing your additional + mapping dictionaries. + +9. Run the Phenopacket pipleine by running: + +.. code:: bash + + rarelink phenopackets export + +_____________________________________________________________________________________ + +.. _phenopacket-mappings: + +Mapping example to Phenopacket Blocks +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +This section provides general examples of how to structure repeating and +non-repeating data blocks. Customize the right-hand side values to fit specific +user fields. The left-hand values are derived from the respective Phenopacket +blocks `Disease `_ +and `Individual `_. + +.. code-block:: bash + + INDIVIDUAL_BLOCK = { + "id_field": "", + "date_of_birth_field": "", + "time_at_last_encounter_field": "", + "sex_field": "", + "karyotypic_sex_field": "", + "gender_field": "", + } + + DISEASE_BLOCK = { + "redcap_repeat_instrument": "", + "term_field_1": "", + "term_field_2": "", + "term_field_3": "", + "term_field_4": "", + "term_field_5": "", + "excluded_field": "", + "onset_date_field": "", + "onset_category_field": "", + "primary_site_field": "", + } + +**Notes**: + +- Replace `` and other placeholders with the specific field + names or codes used in your REDCap project or dataset. +- For repeating blocks, ensure the `redcap_repeat_instrument` value matches the + instrument name configured in REDCap. +- Customize as needed for other field mappings. + + +_____________________________________________________________________________________ + + +.. _label-dicts: + +Example for Label Dictionaries +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The label dictionaries map codes to human-readable labels defined in your +value sets. Replace the placeholders with specific codes and labels relevant to +your use case. Make sure to include the function below in your .py file +``get_mapping_by_name`` so that the ``DataProcessor`` can access the mappings +correctly. All codes that are not defined in here, will be fetched from +the BIOPORTAL API by the ``DataProcessor``. + +.. code-block:: bash + + label_dicts = { + "CategoryName1": { + "": "", + "": "", + "": "", + "": "", + "": "", + }, + "CategoryName2": { + "": "", + "": "", + "": "", + "": "", + }, + } + + def get_mapping_by_name(name, to_boolean=False): + for mapping_dict in mapping_dicts: + if mapping_dict["name"] == name: + mapping = mapping_dict["mapping"] + if to_boolean: + return {key: value.lower() == "true" for key, value in mapping.items()} + return mapping + raise KeyError(f"No mapping found for name: {name}") + + +_____________________________________________________________________________________ + +.. _mapping-dicts: + +General Example for Mapping Dictionaries +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The mapping dictionaries map codes to standardized terms or enums defined, with +mapped values corresponding to Phenopacket-specific elements. Replace the +placeholders with relevant codes and Phenopacket terms. + +.. code-block:: bash + + mapping_dicts = [ + { + "name": "", + "mapping": { + "": "", # Example: "FEMALE" + "": "", # Example: "MALE" + "": "", # Example: "UNKNOWN_SEX" + "": "", # Example: "OTHER_SEX" + "": "", # Example: "NOT_RECORDED" + }, + }, + { + "name": "", + "mapping": { + "": "", + "": "", + "": "", + }, + }, + ] + +**Notes**: + +- **Mapping Name:** Replace `` with descriptive names for the + mapping (e.g., `"map_sex"`, `"map_disease"`). +- **Codes:** Replace `` with actual codes (e.g., `snomed_248152002`). +- **Phenopacket Terms:** Replace `` with specific + Phenopacket-standardized terms (e.g., `"FEMALE"`, `"UNKNOWN_SEX"`). +- Add additional mappings as necessary to include all relevant + Phenopacket-specific elements. + + + + diff --git a/docs/4_user_guide/4_4_tofhir_module.rst b/docs/4_user_guide/4_4_tofhir_module.rst index 51a26c23..9e29e29e 100755 --- a/docs/4_user_guide/4_4_tofhir_module.rst +++ b/docs/4_user_guide/4_4_tofhir_module.rst @@ -1,4 +1,4 @@ -.. _fhir_commands: +.. _4_4: Generate FHIR Resources ======================== @@ -15,7 +15,23 @@ FHIR module and associated pipelines. - Be aware of your projects **development and production mode**. Read the :ref:`1_6` section and discuss this with your FHIR server administrator! -How to get started: +_____________________________________________________________________________________ + +**Overview** + +- :ref:`get__started` +- :ref:`fhir_profiles` +- :ref:`setup_command` +- :ref:`hapi_server_command` +- :ref:`export_command` +- :ref:`restart_docker_command` +- :ref:`docker_commands` + +_____________________________________________________________________________________ + +.. _get__started: + +How to get started ------------------- To use these functionalities, you need a running REDCap project with API access @@ -29,9 +45,10 @@ components running. You can run the following commands to set everything up: _____________________________________________________________________________________ +.. _fhir_profiles: -FHIR Profiles --------------- +RareLink-CDM FHIR Profiles +-------------------------- These FHIR resources generated are based on the HL7 FHIR `International Patient Summary (IPS) `_ and `Genomoics Reporting `_ @@ -42,6 +59,8 @@ profiles. For more information on FHIR, please read the background section .. hint:: You can check out the :ref:`2_2` FHIR Profiles in **draft** `here `_ + + _____________________________________________________________________________________ .. _setup_command: diff --git a/docs/4_user_guide/4_5_develop_redcap_instruments.rst b/docs/4_user_guide/4_5_develop_redcap_instruments.rst index 62a17067..e988a4c5 100755 --- a/docs/4_user_guide/4_5_develop_redcap_instruments.rst +++ b/docs/4_user_guide/4_5_develop_redcap_instruments.rst @@ -3,24 +3,132 @@ Develop REDCap Instruments =========================== -.. attention:: - This section is still to be implemented in the docuemntation. +This section provides a guide for developing REDCap instruments around the +:ref:`2_2`: that can also be processed by the Phenopacket and FHIR pipeline. +If the rules are followd upon development of the REDCap sheets, +mapping and setup steps will be required to convert the data into the +Phenopackets or FHIR format. For example, see the section :ref:`phenopackets-other-redcap-data-models` +of the :ref:`rarelink-phenopacket-module`. -.. attention:: - To use your local REDCap project, you will need to set up a local REDCap - instance. For this please contact your local REDCap administratior. A project - name could for example be "RareLink - Your local REDCap location". +_____________________________________________________________________________________ -This section provides a guide for developing REDCap instruments around the -RareLink CDM that can also be processed by the Phenopacket and FHIR pipeline. -If the rules are followd upon development of the REDCap sheets, another -subsequent mapping step will be required to convert the data into the -Phenopackets or FHIR format. For this second step guides are given below, too. +REDCap instrument structure +--------------------------- + +A REDCap instrument is a collection of fields that are grouped together to +collect data for a specific purpose. The fields can be of different types, +such as text fields, radio buttons, checkboxes, etc. The fields can be +grouped into sections, and the sections can be repeated for a specific number +of times. The fields can also be validated using REDCap's integrated +validators. + +_____________________________________________________________________________________ + +.. _rule-set: + +REDCap-inherent rules +---------------------- + +REDCap variables and choice codes have specific limitations and requirements +you **should or must** comply with when creating your REDCap shets. + +- REDCap recommends a maximum of 26 characters for variable names. If possible, + you should shorten the variable names to adhere to this limit. +- REDCap variables must be unique and must not contain spaces or special + characters, therefore only alphanumeric characters and underscores are allowed. + +_____________________________________________________________________________________ + +RareLink obligatory Rules: +--------------------------- + +1) Data element output +________________________ + +The **output (i.e. the answer) to each question in your REDCap instrument MUST be encoded +with** :ref:`1_2` codes or pass on a validated data field! This is crucial, +so that the output of a data element is a code or a validated format that can +be processed by the RareLink framework. + + ... in regard to the different REDCap field types: + + - ``Single Choice Dropdown & Radio-Button fields``: the choices (i.e. the + data elemen'ts value set) **must** be encoded with :ref:`1_2` codes, + their official prefixes and their respective *preferred labels*. + + - e.g.: **snomed_32218000** or **hp_5200403**. + + - ``Checkboxes (Multiple Answers)fields`` **CANNOT** be processed by the + RareLink framework and **should not be used**. Even if the choices are + encoded with ontology codes, the output are *`1`* or *`0`* for + each choice while altering the variable names. + + - ``Text fields``: can be used for free text input, but the data **must** + either... + + - use REDCap's integrated validators, for example for dates, numbers, etc. + A string or text should only be used when the target data element in + :ref:`1_4` or :ref:`1_3` is a string or text field. + + - or use an integrated `BioPortal `_ + **validation service** to validate the free text input. If you cannot + see this option in your REDCap setup, contact you REDCap administrator. + This can be set free of charge. + + +2) REDCap expression repository +________________________________ + +**REDCap expression repository**: for exporting data to FHIR or Phenopackets, +you will always need the versions of the :ref:`1_2` you are using. REDCap +does not natively include an expression repository, however you can use the +``Field Annotations`` field in each data element to store the version of the +ontology or terminology you are using. You can also use an Excel or word sheet, +but we recommend keeping these in there so that they are part your project's +:ref:`1_6` data dictionary. + +- Like our :ref:`2_2`, you can also convert your model into a + :ref:`rarelink_cdm_linkml` which also provides the possibility to dedicating a + section to the codesystems used. (CAVE: this requires coding experince). + +- To give more context to the data element, you can also include the mapping to + the FHIR expression or the GA4GH Phenopacket Schema element, + like in the example below. + +.. code-block:: bash + + Variable: + HP:0012824 | Severity + Choices: + - HP:0012827 | Borderline + - HP:0012825 | Mild + - HP:0012826 | Moderate + - HP:0012829 | Profound + - HP:0012828 | Severe + Version(s): + - HPO Version 2024-08-13 + Mapping: + - HL7 FHIR Expression v4.0.1: Observation.interpretation + - GA4GH Phenopacket Schema v2.0 Element: PhenotypicFeature.severity + + +RareLink optional rules: +----------------------------- + +- The REDCap variable names should also be encoded with :ref:`1_2` codes and + their respective *preferred labels* and using their official prefix + (e.g. *hp_*, *snomed_*, etc.) so that the concept of an element itself is + clear. Also, sometimes FHIR requires a *CodeableConcept* for a specific + element. + +- If you include the codes in the variable names, you can use suffixes to + differentiate between the codes and the variable names. For example, + ``snomed_123456_onset``, or ``snomed_123456_age``. -Example CIEINR. +- For repeating sections, we recommend using the REDCap **Repeating Instruments** + feature for separate instruments, which allows you to repeat a section of + questions for a specific number of times. See :ref:`3_3` for more information + on how to activate this feature. -Rule Sets. -to be implemented: -- Example CIEINR. -- Rule Sets. +Return to `top <#top>`_. \ No newline at end of file diff --git a/docs/4_user_guide/4_6_redcap_tools.rst b/docs/4_user_guide/4_6_redcap_tools.rst index fee45127..3715609e 100755 --- a/docs/4_user_guide/4_6_redcap_tools.rst +++ b/docs/4_user_guide/4_6_redcap_tools.rst @@ -21,23 +21,24 @@ The `export-records` command allows users to export records from REDCap. rarelink redcap export-records +**Fetch Metadata** -**Import Records** - -The `import-records` command allows users to import records into REDCap. +The `fetch-metadata` command allows users to fetch metadata from REDCap. .. code-block:: bash - rarelink redcap import-records + rarelink redcap fetch-metadata -**Fetch Metadata** +**Import Records** -The `fetch-metadata` command allows users to fetch metadata from REDCap. +The `import-records` command allows users to import records into REDCap. .. code-block:: bash - rarelink redcap fetch-metadata + rarelink redcap import-records (to be implemented) + + diff --git a/docs/5_contributing.rst b/docs/5_contributing.rst new file mode 100644 index 00000000..8ed20fbd --- /dev/null +++ b/docs/5_contributing.rst @@ -0,0 +1,22 @@ +.. _5_: + + +Contributing +============== + +.. warning:: + RareLink v2.0.0.dev0 is under development. Please :ref:`12` us before using + it to ensure you have the latest updates and guidance. + +RareLink is a community-driven project. We welcome contributions from everyone. +There are many ways to contribute to RareLink, including the following: + +- Reporting a bug +- Discussing the current state of the code +- Submitting a fix +- Proposing new features + +Feel free to write an issue on our `RareLink GitHub Repository `_ +or reach out to us directly. + +If you are interested in contributing to RareLink, please :ref:`12` us. \ No newline at end of file diff --git a/docs/5_examples/5_0_examples_file.rst b/docs/5_examples/5_0_examples_file.rst deleted file mode 100755 index 20fd7e33..00000000 --- a/docs/5_examples/5_0_examples_file.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. _5_0: - -Full Examples -==================== - - -.. toctree:: - :maxdepth: 4 - :caption: Contents - - 5_1_example_redcap_project - 5_2_example_redcap_instruments - 5_3_example_semiaut_import - 5_4_example_phenopacket_mapper - 5_5_example_tofhir_module - diff --git a/docs/5_examples/5_1_example_redcap_project.rst b/docs/5_examples/5_1_example_redcap_project.rst deleted file mode 100755 index 7ecc3066..00000000 --- a/docs/5_examples/5_1_example_redcap_project.rst +++ /dev/null @@ -1,7 +0,0 @@ -Example - REDCap Project Setup -======================================= - - -.. note:: - This section is still to be implemented in the docuemntation and the RareLink - command line interface. \ No newline at end of file diff --git a/docs/5_examples/5_2_example_redcap_instruments.rst b/docs/5_examples/5_2_example_redcap_instruments.rst deleted file mode 100755 index 4ccc2ab4..00000000 --- a/docs/5_examples/5_2_example_redcap_instruments.rst +++ /dev/null @@ -1,6 +0,0 @@ -Example - Manual Data Capture -=============================== - -.. note:: - This section is still to be implemented in the docuemntation and the RareLink - command line interface. \ No newline at end of file diff --git a/docs/5_examples/5_3_example_semiaut_import.rst b/docs/5_examples/5_3_example_semiaut_import.rst deleted file mode 100755 index 83f21071..00000000 --- a/docs/5_examples/5_3_example_semiaut_import.rst +++ /dev/null @@ -1,14 +0,0 @@ -Example - Semi-Automatic Data Import -============================================== - -This example demonstrates how to use the `Phenopacket Mapper` class to map any data base to our RareLink data -structure and subsequently generate data that can be uploaded to a local REDCap project. - -The processed data can then be exported to GA4GH Phenopackets using the Phenopacket Mapper module -or FHIR resources using the toFHIR module. - -.. note:: - This section is still to be implemented in the docuemntation and the RareLink - command line interface. - - \ No newline at end of file diff --git a/docs/5_examples/5_4_example_phenopacket_mapper.rst b/docs/5_examples/5_4_example_phenopacket_mapper.rst deleted file mode 100755 index 5a427657..00000000 --- a/docs/5_examples/5_4_example_phenopacket_mapper.rst +++ /dev/null @@ -1,10 +0,0 @@ -Example - Generating Phenopackets -===================================== - -This example demonstrates how to generate Phenopackets from a set of patient records. -The example uses a simple in-memory data store to simulate patient records. -The example also demonstrates how to map patient records to Phenopackets using the `PhenopacketMapper` class. - -.. note:: - This section is still to be implemented in the docuemntation and the RareLink - command line interface. \ No newline at end of file diff --git a/docs/5_examples/5_5_example_tofhir_module.rst b/docs/5_examples/5_5_example_tofhir_module.rst deleted file mode 100755 index 86e0339a..00000000 --- a/docs/5_examples/5_5_example_tofhir_module.rst +++ /dev/null @@ -1,8 +0,0 @@ -Example - Generate FHIR Resources -================================= - -.. note:: - This section is still to be implemented in the docuemntation and the RareLink - command line interface. - - \ No newline at end of file diff --git a/docs/6_changelog.rst b/docs/6_changelog.rst index d1523991..235877e9 100755 --- a/docs/6_changelog.rst +++ b/docs/6_changelog.rst @@ -1,11 +1,25 @@ .. _6: -RareLink Changelog -================== +Changelog +=========== -Change Log: +v2.0.0 (soon) +------------------ -v2.0.0: +This version will be the version we publish RareLink as a stable release and +in a scientific journal. -Publishing Version. \ No newline at end of file + +v2.0.0.dev0 (Under Development) +-------------------------------- + +The current version under development is v2.0.0.dev0. + + +Previous versions (up to v2.0): +-------------------------------- + +- The ERKER project was the previous version of RareLink and can still be found + in the `ERKER GitHub repository <>`_. However, the ERKER project is no longer + maintained and has been replaced by RareLink. \ No newline at end of file diff --git a/docs/7_faq.rst b/docs/7_faq.rst index 800789f9..dc8cad12 100755 --- a/docs/7_faq.rst +++ b/docs/7_faq.rst @@ -1,14 +1,14 @@ .. _7: -FAQ & Contributing +FAQ ==================== -FAQ: - - **Q**: How do I get started with the API? - **A**: You can start by reading the `API documentation `_. - + **A**: You can start by reading the :ref:`1_6` section to learn more about + the REDCap API access and the :ref:`3_4` section to learn more about the + RareLink API setup for your local REDCap project. However, you will need some + coding experience to interact with the API. diff --git a/docs/8_glossary.rst b/docs/8_glossary.rst index 53d0a022..4a23d9bd 100755 --- a/docs/8_glossary.rst +++ b/docs/8_glossary.rst @@ -1,10 +1,20 @@ Glossary ==================== - - .. glossary:: Interoperability: definitions + The ability of different information systems, devices, or applications to + connect, in a coordinated manner, within and across organizational + boundaries to access, exchange, and cooperatively use data amongst + stakeholders. + +.. note:: + to be continued... + + + + + \ No newline at end of file diff --git a/docs/9_acknowledgements.rst b/docs/9_acknowledgements.rst index bd8a2545..a16d314d 100755 --- a/docs/9_acknowledgements.rst +++ b/docs/9_acknowledgements.rst @@ -1,15 +1,16 @@ Acknowlegements ==================== -We thank ... +We specifically thank all the contributors to the RareLink project. W +e also acknowledge the following organizations for their support and collaboration: -and ... +- `Berlin Institute of Health (BIH) at Charité Universitätsmedizin Berlin `_: + - **Prof. Sylvia Thun** and colleagues from the `Core Unit Digital Health and Interoperability `_ + - **Prof. Peter N. Robinson** and colleagues from the working group `Medical Computer Science and Artificial Intelligence `_ - -- BIH CEI -- UKK BIK -- Monarch Initiative +- **Prof. Oya Beyan** from the `University Hospital Cologne Institute of Biomedical Informatics `_ +- All participating colleagues from `The Monarch Initiative `_ diff --git a/docs/_build/html/.buildinfo b/docs/_build/html/.buildinfo old mode 100755 new mode 100644 index 7fc7678a..26e89588 --- a/docs/_build/html/.buildinfo +++ b/docs/_build/html/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file records the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 9dc1677c3eb2372206f2f6ef08239f9d +config: 501d3d1fbf9658a133c4569be302d283 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/.buildinfo.bak b/docs/_build/html/.buildinfo.bak old mode 100755 new mode 100644 index 9b874e1d..8b10754a --- a/docs/_build/html/.buildinfo.bak +++ b/docs/_build/html/.buildinfo.bak @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file records the configuration used when building these files. When it is not found, a full rebuild will be done. -config: 2cd136ca95bcf73fee666e96936f837d +config: 7bad59e97ffa42076200bc3bc9f049e5 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/_build/html/.doctrees/10_license.doctree b/docs/_build/html/.doctrees/10_license.doctree index 5cf0612f..1a0fe6db 100755 Binary files a/docs/_build/html/.doctrees/10_license.doctree and b/docs/_build/html/.doctrees/10_license.doctree differ diff --git a/docs/_build/html/.doctrees/11_download_manifest.doctree b/docs/_build/html/.doctrees/11_download_manifest.doctree new file mode 100644 index 00000000..a09a2fc8 Binary files /dev/null and b/docs/_build/html/.doctrees/11_download_manifest.doctree differ diff --git a/docs/_build/html/.doctrees/12_contact.doctree b/docs/_build/html/.doctrees/12_contact.doctree new file mode 100644 index 00000000..0bd70a67 Binary files /dev/null and b/docs/_build/html/.doctrees/12_contact.doctree differ diff --git a/docs/_build/html/.doctrees/1_background/1_0_introduction_file.doctree b/docs/_build/html/.doctrees/1_background/1_0_introduction_file.doctree new file mode 100644 index 00000000..b03e17ef Binary files /dev/null and b/docs/_build/html/.doctrees/1_background/1_0_introduction_file.doctree differ diff --git a/docs/_build/html/.doctrees/1_background/1_2_ontologies.doctree b/docs/_build/html/.doctrees/1_background/1_2_ontologies.doctree index 1d981956..98adae2e 100755 Binary files a/docs/_build/html/.doctrees/1_background/1_2_ontologies.doctree and b/docs/_build/html/.doctrees/1_background/1_2_ontologies.doctree differ diff --git a/docs/_build/html/.doctrees/1_background/1_3_ga4gh_phenopacket_schema.doctree b/docs/_build/html/.doctrees/1_background/1_3_ga4gh_phenopacket_schema.doctree index bc89204a..8879aa5a 100755 Binary files a/docs/_build/html/.doctrees/1_background/1_3_ga4gh_phenopacket_schema.doctree and b/docs/_build/html/.doctrees/1_background/1_3_ga4gh_phenopacket_schema.doctree differ diff --git a/docs/_build/html/.doctrees/2_rarelink_framework/2_0_rarelink_file.doctree b/docs/_build/html/.doctrees/2_rarelink_framework/2_0_rarelink_file.doctree index 994a0a99..95f1a174 100755 Binary files a/docs/_build/html/.doctrees/2_rarelink_framework/2_0_rarelink_file.doctree and b/docs/_build/html/.doctrees/2_rarelink_framework/2_0_rarelink_file.doctree differ diff --git a/docs/_build/html/.doctrees/2_rarelink_framework/2_1_rarelink_overview.doctree b/docs/_build/html/.doctrees/2_rarelink_framework/2_1_rarelink_overview.doctree index 969e2940..77bd5cfb 100755 Binary files a/docs/_build/html/.doctrees/2_rarelink_framework/2_1_rarelink_overview.doctree and b/docs/_build/html/.doctrees/2_rarelink_framework/2_1_rarelink_overview.doctree differ diff --git a/docs/_build/html/.doctrees/2_rarelink_framework/2_2_rarelink_cdm.doctree b/docs/_build/html/.doctrees/2_rarelink_framework/2_2_rarelink_cdm.doctree new file mode 100644 index 00000000..f3051f0e Binary files /dev/null and b/docs/_build/html/.doctrees/2_rarelink_framework/2_2_rarelink_cdm.doctree differ diff --git a/docs/_build/html/.doctrees/2_rarelink_framework/2_3_rarelink_cli.doctree b/docs/_build/html/.doctrees/2_rarelink_framework/2_3_rarelink_cli.doctree new file mode 100644 index 00000000..08673ba6 Binary files /dev/null and b/docs/_build/html/.doctrees/2_rarelink_framework/2_3_rarelink_cli.doctree differ diff --git a/docs/_build/html/.doctrees/3_installation/3_0_install_file.doctree b/docs/_build/html/.doctrees/3_installation/3_0_install_file.doctree index 77fca089..6b2df51e 100755 Binary files a/docs/_build/html/.doctrees/3_installation/3_0_install_file.doctree and b/docs/_build/html/.doctrees/3_installation/3_0_install_file.doctree differ diff --git a/docs/_build/html/.doctrees/3_installation/3_1_setup_rarelink_framework.doctree b/docs/_build/html/.doctrees/3_installation/3_1_setup_rarelink_framework.doctree index 09818687..d1756e72 100755 Binary files a/docs/_build/html/.doctrees/3_installation/3_1_setup_rarelink_framework.doctree and b/docs/_build/html/.doctrees/3_installation/3_1_setup_rarelink_framework.doctree differ diff --git a/docs/_build/html/.doctrees/3_installation/3_2_setup_redcap_project.doctree b/docs/_build/html/.doctrees/3_installation/3_2_setup_redcap_project.doctree index b18a04d1..4d904ea8 100755 Binary files a/docs/_build/html/.doctrees/3_installation/3_2_setup_redcap_project.doctree and b/docs/_build/html/.doctrees/3_installation/3_2_setup_redcap_project.doctree differ diff --git a/docs/_build/html/.doctrees/3_installation/3_3_data_dictionary.doctree b/docs/_build/html/.doctrees/3_installation/3_3_data_dictionary.doctree new file mode 100644 index 00000000..89fbb9c4 Binary files /dev/null and b/docs/_build/html/.doctrees/3_installation/3_3_data_dictionary.doctree differ diff --git a/docs/_build/html/.doctrees/3_installation/3_4_redcap_api.doctree b/docs/_build/html/.doctrees/3_installation/3_4_redcap_api.doctree index 5afd972d..84fef5ce 100755 Binary files a/docs/_build/html/.doctrees/3_installation/3_4_redcap_api.doctree and b/docs/_build/html/.doctrees/3_installation/3_4_redcap_api.doctree differ diff --git a/docs/_build/html/.doctrees/4_user_guide/4_0_guide_file.doctree b/docs/_build/html/.doctrees/4_user_guide/4_0_guide_file.doctree index 253153ee..43fa4b10 100755 Binary files a/docs/_build/html/.doctrees/4_user_guide/4_0_guide_file.doctree and b/docs/_build/html/.doctrees/4_user_guide/4_0_guide_file.doctree differ diff --git a/docs/_build/html/.doctrees/4_user_guide/4_1_manual_data_capture.doctree b/docs/_build/html/.doctrees/4_user_guide/4_1_manual_data_capture.doctree index 303f5776..049161e4 100755 Binary files a/docs/_build/html/.doctrees/4_user_guide/4_1_manual_data_capture.doctree and b/docs/_build/html/.doctrees/4_user_guide/4_1_manual_data_capture.doctree differ diff --git a/docs/_build/html/.doctrees/4_user_guide/4_2_import_mapper.doctree b/docs/_build/html/.doctrees/4_user_guide/4_2_import_mapper.doctree index e766e2d9..e539b1b8 100755 Binary files a/docs/_build/html/.doctrees/4_user_guide/4_2_import_mapper.doctree and b/docs/_build/html/.doctrees/4_user_guide/4_2_import_mapper.doctree differ diff --git a/docs/_build/html/.doctrees/4_user_guide/4_3_phenopacket_mapper.doctree b/docs/_build/html/.doctrees/4_user_guide/4_3_phenopacket_mapper.doctree index d50095cf..08093ead 100755 Binary files a/docs/_build/html/.doctrees/4_user_guide/4_3_phenopacket_mapper.doctree and b/docs/_build/html/.doctrees/4_user_guide/4_3_phenopacket_mapper.doctree differ diff --git a/docs/_build/html/.doctrees/4_user_guide/4_3_phenopackets.doctree b/docs/_build/html/.doctrees/4_user_guide/4_3_phenopackets.doctree new file mode 100644 index 00000000..f5af3624 Binary files /dev/null and b/docs/_build/html/.doctrees/4_user_guide/4_3_phenopackets.doctree differ diff --git a/docs/_build/html/.doctrees/4_user_guide/4_4_tofhir_module.doctree b/docs/_build/html/.doctrees/4_user_guide/4_4_tofhir_module.doctree index 16962331..9062f6b6 100755 Binary files a/docs/_build/html/.doctrees/4_user_guide/4_4_tofhir_module.doctree and b/docs/_build/html/.doctrees/4_user_guide/4_4_tofhir_module.doctree differ diff --git a/docs/_build/html/.doctrees/4_user_guide/4_5_develop_redcap_instruments.doctree b/docs/_build/html/.doctrees/4_user_guide/4_5_develop_redcap_instruments.doctree index 63e8e431..1ecd2930 100755 Binary files a/docs/_build/html/.doctrees/4_user_guide/4_5_develop_redcap_instruments.doctree and b/docs/_build/html/.doctrees/4_user_guide/4_5_develop_redcap_instruments.doctree differ diff --git a/docs/_build/html/.doctrees/4_user_guide/4_6_redcap_tools.doctree b/docs/_build/html/.doctrees/4_user_guide/4_6_redcap_tools.doctree new file mode 100644 index 00000000..7bdcc273 Binary files /dev/null and b/docs/_build/html/.doctrees/4_user_guide/4_6_redcap_tools.doctree differ diff --git a/docs/_build/html/.doctrees/5_contributing.doctree b/docs/_build/html/.doctrees/5_contributing.doctree new file mode 100644 index 00000000..b4fc3689 Binary files /dev/null and b/docs/_build/html/.doctrees/5_contributing.doctree differ diff --git a/docs/_build/html/.doctrees/6_changelog.doctree b/docs/_build/html/.doctrees/6_changelog.doctree index 99376561..8b36418a 100755 Binary files a/docs/_build/html/.doctrees/6_changelog.doctree and b/docs/_build/html/.doctrees/6_changelog.doctree differ diff --git a/docs/_build/html/.doctrees/7_faq.doctree b/docs/_build/html/.doctrees/7_faq.doctree index 8e9cbde7..6a2c66b4 100755 Binary files a/docs/_build/html/.doctrees/7_faq.doctree and b/docs/_build/html/.doctrees/7_faq.doctree differ diff --git a/docs/_build/html/.doctrees/8_glossary.doctree b/docs/_build/html/.doctrees/8_glossary.doctree index 1c2b78c7..814b4fd2 100755 Binary files a/docs/_build/html/.doctrees/8_glossary.doctree and b/docs/_build/html/.doctrees/8_glossary.doctree differ diff --git a/docs/_build/html/.doctrees/9_acknowledgements.doctree b/docs/_build/html/.doctrees/9_acknowledgements.doctree index da4ddcea..1de013ee 100755 Binary files a/docs/_build/html/.doctrees/9_acknowledgements.doctree and b/docs/_build/html/.doctrees/9_acknowledgements.doctree differ diff --git a/docs/_build/html/.doctrees/environment.pickle b/docs/_build/html/.doctrees/environment.pickle index 66d0e959..258298a7 100755 Binary files a/docs/_build/html/.doctrees/environment.pickle and b/docs/_build/html/.doctrees/environment.pickle differ diff --git a/docs/_build/html/.doctrees/index.doctree b/docs/_build/html/.doctrees/index.doctree index aaff0a2f..08aed86b 100755 Binary files a/docs/_build/html/.doctrees/index.doctree and b/docs/_build/html/.doctrees/index.doctree differ diff --git a/docs/_build/html/10_license.html b/docs/_build/html/10_license.html index fce04cdd..52874045 100755 --- a/docs/_build/html/10_license.html +++ b/docs/_build/html/10_license.html @@ -10,7 +10,7 @@ - + @@ -20,9 +20,11 @@ + + @@ -48,7 +50,6 @@ @@ -126,8 +117,31 @@

License

-

This project is licensed under the terms of the MIT license.

-

You can read the License here ‘../GIT/RareLink/LICENSE’.

+

RareLink is licensed under open-source the BSD 3-Clause License:

+

Copyright (c) 2024 - 2025, Berlin Institute of Health, Charité Universitätsmedizin Berlin +All rights reserved.

+

Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met:

+
    +
  • Redistributions of source code must retain the above copyright notice, this +list of conditions and the following disclaimer.

  • +
  • Redistributions in binary form must reproduce the above copyright notice, +this list of conditions and the following disclaimer in the documentation +and/or other materials provided with the distribution.

  • +
  • Neither the name of the copyright holder nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission.

  • +
+

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

@@ -135,6 +149,7 @@

License