diff --git a/.github/workflows/schema-tests.yml b/.github/workflows/schema-tests.yml index 760844611..46ab94089 100644 --- a/.github/workflows/schema-tests.yml +++ b/.github/workflows/schema-tests.yml @@ -38,7 +38,7 @@ jobs: - name: Use Node.js uses: actions/setup-node@v3 with: - node-version: '16.x' + node-version: '18.x' cache: npm cache-dependency-path: tests/package-lock.json - run: npm ci diff --git a/docs/jsonBrowser/module.md b/docs/jsonBrowser/module.md index 6a7eb0967..55f1de83c 100644 --- a/docs/jsonBrowser/module.md +++ b/docs/jsonBrowser/module.md @@ -490,6 +490,50 @@ dlco | Indicate the Diffusing Capacity of the Lung for Carbon Monoxide (DLCO) in dlco_predicted_percent | Indicate the percentage of the predicted DLCO, based on patient demographics, if available. | number | no | | DLCO percent of predicted | | 88; 95; 82 kco | Indicate the transfer coefficient of the lung for carbon monoxide (KCO) in mmol/min/kPa/L if available. | number | no | | KCO | | 5; 6; 4.5 kco_predicted_percent | Indicate the percentage of the predicted KCO, based on patient demographics, if available. | number | no | | KCO percent of predicted | | 90; 98; 85 +ecg_heart_rate | Heart rate as measured by electrocardiogram in beats per minute. | number | no | | Ecg - Heart Rate | | 72; 65; 80 +ecg_heart_rhythm | Heart rhythm as measured by electrocardiogram. | string | no | | Ecg - Heart Rhythm | | sinus rhythm; atrial fibrillation; atrial flutter; atrial tachycardia +ecg_pr_interval_duration | PR interval duration in ms as measured by electrocardiogram. It can be described as PQ interval duration in ECG description according to region. | number | no | | Ecg - Pr Interval Duration | | 160; 140; 180 +ecg_qrs_complex_duration | QRS complex duration in ms as measured by electrocardiogram. | number | no | | Ecg - QRS Complex Duration | | 90; 100; 110 +ecg_lbbb_rbbb_ivcd | Bundle branch block and/or delayed atrioventricular conduction as measured by electrocardiogram. LBBB - Left bundle branch block/ RBBB - right bundle branch block/ IVCD - intraventricular-conduction delay (QRSd >120ms not fulfilling LBBB or RBBB criteria). | string | no | | Ecg - LBBB RBBB IVCD | LBBB, RBBB, IVCD | Should be one of: LBBB, RBBB, IVCD. +ecg_qt_interval_corrected | Corrected QT interval in ms as measured by electrocardiogram. | number | no | | Ecg - QT Interval Corrected | | 420; 410; 430 +ecg_time_offset | Time between the test and the collection of the sample, measured in days. | number | no | | Ecg - Time Offset | | 4; 20; 58 +echo_aortic_stenosis | Aortic stenosis as measured by echocardiogram. | string | no | | Echo - Aortic Stenosis | no, mild, mod, severe | Should be one of: no, mild, mod, severe. +echo_aortic_regurgitation | Aortic regurgitation as measured by echocardiogram. | string | no | | Echo - Aortic Regurgitation | no, mild, mod, severe | Should be one of: no, mild, mod, severe. +echo_mitral_regurgitation | Mitral regurgitation as measured by echocardiogram. | string | no | | Echo - Mitral Regurgitation | no, mild, mod, severe | Should be one of: no, mild, mod, severe. +echo_mitral_stenosis | Mitral stenosis as measured by echocardiogram. | string | no | | Echo - Mitral Stenosis | no, mild, mod, severe | Should be one of: no, mild, mod, severe. +echo_tricuspid_regurgitation | Tricuspid regurgitation as measured by echocardiogram. | string | no | | Echo - Tricuspid Regurgitation | no, mild, mod, severe | Should be one of: no, mild, mod, severe. +echo_estimated_rvsp | Estimated right ventricular systolic pressure in mmHg as measured by echocardiogram. | number | no | | Echo - Estimated RVSP | | 25; 30; 35 +echo_lvedv | Left ventricular end-diastolic volume in ml as measured by echocardiogram. | number | no | | Echo - LVEDV | | 120; 110; 130 +echo_lvedv_indexed | Left ventricular end-diastolic volume indexed to body surface area in ml/m^2 (indexed to body surface area) as measured by echocardiogram. | number | no | | Echo - LVEDV Indexed | | 65; 70; 60 +echo_lvesv | Left ventricular end-systolic volume in ml as measured by echocardiogram. | number | no | | Echo - LVESV | | 50; 45; 55 +echo_lvesv_indexed | Left ventricular end-systolic volume indexed to body surface area in ml/m^2 (indexed to body surface area) as measured by echocardiogram. | number | no | | Echo - LVESV Indexed | | 25; 30; 28 +echo_lvef | Left ventricular ejection fraction as measured by echocardiogram. | number | no | | Echo - LVEF | | 55; 60; 65 +echo_lv_mass | Left ventricular mass in grams as measured by echocardiogram. | number | no | | Echo - LV Mass | | 150; 160; 140 +echo_lv_mass_indexed | Left ventricular mass indexed to body surface area in g/m^2 (indexed to body surface area) as measured by echocardiogram. | number | no | | Echo - LV Mass Indexed | | 75; 80; 70 +echo_rv_fac | Right Ventricular Fractional Area Change (RV FAC) in percentage as measured by echocardiogram. | number | no | | Echo - RV FAC | | 40; 45; 50 +echo_tapse | Tricuspid annular plane systolic excursion (TAPSE) in mm as measured by echocardiogram. | number | no | | Echo - TAPSE | | 20; 22; 18 +echo_lv_septum_thickness | Left ventricular septum thickness in mm as measured by echocardiogram. | number | no | | Echo - LV Septum Thickness | | 9; 10; 11 +echo_pw_thickness | Basal posterior LV wall thickness in mm as measured by echocardiogram. | number | no | | Echo - PW Thickness | | 9; 10; 11 +echo_la_dimension | Left atrial diameter in PLAX view in mm as measured by echocardiogram. | number | no | | Echo - LA Dimension | | 38; 36; 40 +echo_lav_indexed | Left atrial volume indexed to body surface area in ml/m^2 (left atrial volume indexed to body surface area) as measured by echocardiogram. | number | no | | Echo - LAV Indexed | | 28; 30; 32 +echo_time_offset | Time between the test and the collection of the sample, in days. | number | no | | Echo - Time Offset | | 4; 20; 58 +mri_lvedv | Left ventricular end-diastolic volume in ml as measured by MRI. | number | no | | Mri - LVEDV | | 140; 150; 130 +mri_lvedv_indexed | Left ventricular end-diastolic volume indexed to body surface area in ml/m^2 (indexed to body surface area) as measured by MRI. | number | no | | Mri - LVEDV Indexed | | 75; 70; 80 +mri_lvesv | Left ventricular end-systolic volume in ml as measured by MRI. | number | no | | Mri - LVESV | | 60; 55; 65 +mri_lvesv_indexed | Left ventricular end-systolic volume indexed to body surface area in ml/m^2 (indexed to body surface area) as measured by MRI. | number | no | | Mri - LVESV Indexed | | 30; 28; 32 +mri_lvef | Left ventricular ejection fraction measured by MRI. | number | no | | Mri - LVEF | | 55; 60; 58 +mri_lv_mass | Left ventricular mass in grams as measured by MRI. | number | no | | Mri - LV Mass | | 130; 120; 140 +mri_lv_mass_indexed | Left ventricular mass indexed to body surface area in g/m^2 (indexed to body surface area) as measured by MRI. | number | no | | Mri - LV Mass Indexed | | 65; 60; 70 +mri_rv_ejection_fraction | Right ventricular ejection fraction in percentage as measured by MRI. | number | no | | Mri - RV Ejection Fraction | | 50; 55; 60 +mri_mid_wall_lge | Late gadolinium enhancement (mid wall) as measured by MRI. | boolean | no | | Mri - Mid Wall LGE | | Should be one of: yes; no. +mri_epicardial_lge | Late gadolinium enhancement (epicardial) as measured by MRI. | boolean | no | | Mri - Epicardial LGE | | Should be one of: yes; no. +mri_infarct_pattern_lge | Late gadolinium enhancement (infarct pattern) as measured by MRI. | boolean | no | | Mri - Infarct Pattern LGE | | Should be one of: yes; no. +mri_myocardial_oedema | Myocardial oedema as measured by MRI. | boolean | no | | Mri - Myocardial Oedema | | Should be one of: yes; no. +mri_time_offset | Time between the test and the collection of the sample, in days. | number | no | | Mri - Time Offset | | 4; 20; 58 +mps_lvef | Left ventricular ejection fraction in percentage as measured by myocardial perfusion scintigraphy. | number | no | | Mps - LVEF | | 58; 60; 62 +mps_inducible_ischaemic | Left ventricular inducible ischemic percentage as measured by myocardial perfusion scintigraphy. | number | no | | Mps - Inducible Ischaemic | | 0; 5; 12 +mps_scar | Left ventricular scar percentage as measured by myocardial perfusion scintigraphy. | number | no | | Mps - Scar | | 0; 3; 10 +mps_time_offset | Time between the test and the collection of the sample, in days. | number | no | | Mps - Time Offset | | 4; 20; 58 ## Collection institute _Information about collection institute location._ @@ -552,6 +596,10 @@ Location: module/biomaterial/lifestyle.json Property name | Description | Type | Required? | Object reference? | User friendly name | Allowed values | Example --- | --- | --- | --- | --- | --- | --- | --- physical_activity | The habitual level of physical activity and regular physical activities. | string | no | | Physical activity | | active - football, tennis; sedentary +substance_type | Any drug or substance the donor uses or used. | array | no | | Substance Type | marijuana, cocaine, heroin, methamphetamine, prescription drugs (non-medical use) | marijuana; cocaine; heroin; methamphetamine; prescription drugs (non-medical use) +substance_frequency | Number of donor's substance usage per year. | number | no | | Substance Use Frequency | | 12; 50; 300 +substance_use_duration | Duration of donor's substance usage in years. | integer | no | | Duration Of Substance Use | | 4; 8; 20 +substance_duration_since_last_use | If donor is no longer using, specify the number of years since substance usage cessation, if available. | integer | no | | Duration Since Last Substance Use | | 1; 4; 20 ## Death _Information relating to the death of an organism._ @@ -603,7 +651,10 @@ diet_meat_consumption | Dietary patterns of donor - meat (chicken, seafood, fish reproductive_history | Reproductive history of the donor at the time of collection. | object | no | [See module reproductive_history](module.md#reproductive-history) | Reproductive history | | blood_test | Results from blood tests performed on the individual. | object | no | [See module blood_test](module.md#blood-test) | Blood tests | | test_results | Results from medical tests performed on the individual. | string | no | | Test results | | lipid panel shows normal level of LDL (124 mg/dL); HIV, HBV, HCV: Negative +diseases_history | Short description of known disease(s) that have previously affected the donor, but are not considered active now. | array | no | [See module disease_ontology](module.md#disease-ontology) | Diseases History | | treatment | Treatments the individual has undergone prior to biomaterial collection. | string | no | | Treatments | | Patient treated with antibiotics for a urinary tract infection; Patient treated with chemotherapy (Epirubicin, cisplatin, capecitabine) to treat stomach cancer +device_treatment | Device/interventional therapy 1 year before and/or at time of sample collection. | string | no | | Device Treatment | ECMO, IABP, Impella, LVAD, RVAD, PPM, ICD, CRT | Should be one of: ECMO, IABP, Impella, LVAD, RVAD, PPM, ICD, CRT +cardioplegia | Cardioplegia applied right before or during time of biomaterial collection. | boolean | no | | Cardioplegia | | yes; no previous_surgeries | Previous surgeries the individual has undergone prior to biomaterial collection. | string | no | | Previous surgeries | | Appendectomy; Coleostomy; Vaginoplasty; LASIK; Abdominal surgery defined_diet | Whether the individual was following a defined diet at the time of biomaterial collection. | boolean | no | | Defined diet | | yes; no diet_specific | Defined diet the donor was on at the time of biomaterial collection. | array | no | | Diet Specific | vegan, vegetarian, omnivore, gluten_free, fodmap, baby_formula, breastfeeding, elimination, keto, paleo | gluten_free; fodmap; baby_formula; breastfeeding; elimination; keto; paleo @@ -646,9 +697,19 @@ testosterone | Testosterone in the last blood test of the donor before collectio testosterone_unit | Testosterone unit. | string | no | | Testosterone unit | nmol/L, ng/dL | nmol/L; ng/dL triglycerides | Triglycerides levels from the donor's last blood test after at least 9-12 hours of fasting, prior to the biopsy collection. | number | no | | Triglycerides | | 160; 133; 140 triglycerides_unit | Triglycerides unit. | string | no | | Triglycerides unit | mg/dL, mmol/L | mg/dL; mmol/L +sodium | Sodium in the last blood test of the donor before collection. | number | no | | Sodium | | 138; 140; 142 +sodium_unit | Sodium unit. | string | no | | Sodium unit | mmol/L | mmol/L +potassium | Potassium in the last blood test of the donor before collection. | number | no | | Potassium | | 4.0; 4.2; 3.8 +potassium_unit | Potassium unit. | string | no | | Potassium unit | mmol/L | mmol/L +urea | Urea in the last blood test of the donor before collection. | number | no | | Urea | | 5.0; 5.5; 4.8 +urea_unit | Urea unit. | string | no | | Urea unit | mmol/L | mmol/L +creatinine | Creatinine in the last blood test of the donor before collection. | number | no | | Creatinine | | 80; 85; 78 +creatinine_unit | Creatinine unit. | string | no | | Creatinine unit | micromol/L, mg/dL | micromol/L; mg/dL +total_bilirubin | Total bilirubin in the last blood test of the donor before collection. | number | no | | Total bilirubin | | 12; 10; 14 +total_bilirubin_unit | Total bilirubin unit. | string | no | | Total bilirubin unit | micromol/L | micromol/L white_blood_cell_count | Measurement of total white blood cells per unit volume of blood from the donor's last blood test prior to biopsy collection. | number | no | | White cell count | | 4.5; 11; 9.24 white_blood_cell_count_unit | White cell count unit. | string | no | | White cell count unit | 10^9/L, cells/μL | 10^9/L; cells/μL -bloodtest_time_offset | Time between the test and the collection of the sample, in days. | number | no | | Blood test time offset | | 12; 42; 98 +blood_test_time_offset | Time between the test and the collection of the sample, in days. | number | no | | Blood test time offset | | 12; 42; 98 ## Residence _Donor's residence location information._ diff --git a/docs/jsonBrowser/type.md b/docs/jsonBrowser/type.md index 0e30c1f96..7ab4bb916 100644 --- a/docs/jsonBrowser/type.md +++ b/docs/jsonBrowser/type.md @@ -226,8 +226,8 @@ schema_type | The type of the metadata schema entity. | string | yes | | | pro provenance | Provenance information provided by the system. | object | no | [See provenance](.md#provenance) | | | protocol_core | Core protocol-level information. | object | yes | [See core protocol_core](core.md#protocol-core) | Protocol core | | method | Method used to collect the biomaterial. | object | yes | [See module process_type_ontology](module.md#process-type-ontology) | Collection method | | -biopsy_procedure | Type of biopsy procedure used in the sample collection. | string | no | | Type of biopsy procedure | Bergstrom needle, Punch biopsy, Mercedes needle, dry aspiration, Mercedes needle, tumescent lidocaine “wet” aspiration | Bergstrom needle; Punch biopsy; Mercedes needle, dry aspiration; Mercedes needle, tumescent lidocaine “wet” aspiration procedure | Procedure used to collect the specimen from the organism. | string | no | | Procedure | | colonoscopy; venipuncture; laparoscopic surgery +biopsy_procedure | Type of biopsy procedure used in the sample collection. | string | no | | Type of biopsy procedure | Bergstrom needle, Punch biopsy, Mercedes needle, dry aspiration, Mercedes needle, tumescent lidocaine “wet” aspiration | Bergstrom needle; Punch biopsy; Mercedes needle, dry aspiration; Mercedes needle, tumescent lidocaine “wet” aspiration reagents | A list of purchased reagents used in this protocol. | array | no | [See module purchased_reagents](module.md#purchased-reagents) | Protocol reagents | | ## Differentiation protocol @@ -353,7 +353,8 @@ genus_species | The scientific binomial name for the species of the specimen. | organ | The organ that the biomaterial came from. | object | yes | [See module organ_ontology](module.md#organ-ontology) | Organ | | organ_parts | A term for a specific part of the organ that the biomaterial came from. | array | no | [See module organ_part_ontology](module.md#organ-part-ontology) | Organ part | | radial_tissue_term | Layer(s) of the gut that was/were sampled. | array | no | | Radial tissue term | EPI, LP, MLN, MUILF, MUSC, PP, SMILF, SUB | EPI; LP; MLN; MUILF; MUSC; PP; SMILF; SUB -transplant_organ | Was the specimen collected after extraction for organ transplantation? | boolean | no | | Transplant organ | | yes; no +transplant_organ | Was the organ transplanted or explanted before biomaterial collection? | string | no | | Transplant organ | explanted organ, transplanted organ, no transplant | explanted organ; transplanted organ; no transplant. +transplant_rejection_reason | If the organ was evaluated for transplantation but rejected give the reason for rejection. | string | no | | Transplant Rejection Reason | | Rejected because underlying malignant disease; not evaluated for transplantation diseases | Short description of known disease(s) of the specimen. | array | no | [See module disease_ontology](module.md#disease-ontology) | Known disease(s) | | adjacent_diseases | Short description of the disease(s) adjacent to the specimen's collection site (e.g. breast cancer). | array | no | [See module disease_ontology](module.md#disease-ontology) | Adjacent disease(s) | | experimental_condition | Case of the sample used in the experiment context, it should include a description of the experimental conditions of the study. If disease case, specify the disease that was studied. | string | no | | Case Control definition | | healthy control; disease control; MAFLD disease case; gestational diabetes case diff --git a/json_schema/module/biomaterial/blood_test.json b/json_schema/module/biomaterial/blood_test.json index e26afb61f..d75c0cf3d 100644 --- a/json_schema/module/biomaterial/blood_test.json +++ b/json_schema/module/biomaterial/blood_test.json @@ -153,7 +153,7 @@ ], "user_friendly": "Haematocrit unit", "example": "%", - "guidelines": "Should be one of: %", + "guidelines": "Should be one of: percentage (%)", "bionetworks": ["adipose"] }, "haemoglobin": { @@ -323,6 +323,102 @@ "guidelines": "Should be one of: mg/dL; mmol/L", "bionetworks": ["adipose"] }, + "sodium": { + "description": "Sodium in the last blood test of the donor before collection.", + "type": "number", + "minimum": 0, + "user_friendly": "Sodium", + "example": "138; 140; 142", + "bionetworks": ["heart"] + }, + "sodium_unit": { + "description": "Sodium unit.", + "type": "string", + "enum": [ + "mmol/L" + ], + "user_friendly": "Sodium unit", + "example": "mmol/L", + "guidelines": "Should be one of: mmol/L", + "bionetworks": ["heart"] + }, + "potassium": { + "description": "Potassium in the last blood test of the donor before collection.", + "type": "number", + "user_friendly": "Potassium", + "minimum": 0, + "example": "4.0; 4.2; 3.8", + "bionetworks": ["heart"] + }, + "potassium_unit": { + "description": "Potassium unit.", + "type": "string", + "enum": [ + "mmol/L" + ], + "user_friendly": "Potassium unit", + "example": "mmol/L", + "guidelines": "Should be one of: mmol/L", + "bionetworks": ["heart"] + }, + "urea": { + "description": "Urea in the last blood test of the donor before collection.", + "type": "number", + "minimum": 0, + "user_friendly": "Urea", + "example": "5.0; 5.5; 4.8", + "bionetworks": ["heart"] + }, + "urea_unit": { + "description": "Urea unit.", + "type": "string", + "enum": [ + "mmol/L" + ], + "user_friendly": "Urea unit", + "example": "mmol/L", + "guidelines": "Should be one of: mmol/L", + "bionetworks": ["heart"] + }, + "creatinine": { + "description": "Creatinine in the last blood test of the donor before collection.", + "type": "number", + "minimum": 0, + "user_friendly": "Creatinine", + "example": "80; 85; 78", + "bionetworks": ["heart"] + }, + "creatinine_unit": { + "description": "Creatinine unit.", + "type": "string", + "enum": [ + "micromol/L", + "mg/dL" + ], + "user_friendly": "Creatinine unit", + "example": "micromol/L; mg/dL", + "guidelines": "Should be one of: micromol/L, mg/dL", + "bionetworks": ["heart"] + }, + "total_bilirubin": { + "description": "Total bilirubin in the last blood test of the donor before collection.", + "type": "number", + "minimum": 0, + "user_friendly": "Total bilirubin", + "example": "12; 10; 14", + "bionetworks": ["heart"] + }, + "total_bilirubin_unit": { + "description": "Total bilirubin unit.", + "type": "string", + "enum": [ + "micromol/L" + ], + "user_friendly": "Total bilirubin unit", + "example": "micromol/L", + "guidelines": "Should be one of: micromol/L", + "bionetworks": ["heart"] + }, "white_blood_cell_count": { "description": "Measurement of total white blood cells per unit volume of blood from the donor's last blood test prior to biopsy collection.", "type": "number", @@ -343,7 +439,7 @@ "guidelines": "Should be one of: 10^9/L; cells/μL", "bionetworks": ["adipose"] }, - "bloodtest_time_offset": { + "blood_test_time_offset": { "description": "Time between the test and the collection of the sample, in days.", "type": "number", "minimum": 0, diff --git a/json_schema/module/biomaterial/human_specific.json b/json_schema/module/biomaterial/human_specific.json index 5f120db7d..4f91ac541 100644 --- a/json_schema/module/biomaterial/human_specific.json +++ b/json_schema/module/biomaterial/human_specific.json @@ -24,7 +24,7 @@ }, "body_mass_index": { "description": "The body mass index of the donor.", - "pattern": "(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?(-(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?)?$", + "pattern": "^(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?(-(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?)?$", "type": "string", "example": "36.4; 29-32 ", "user_friendly": "Body mass index", @@ -32,7 +32,7 @@ }, "waist_circumference": { "description": "Waist circumference of the donor at the time of collection measured in cm.", - "pattern": "(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?(-(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?)?$", + "pattern": "^(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?(-(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?)?$", "type": "string", "example": "60; 85-95; 153", "user_friendly": "Waist circumference", @@ -40,7 +40,7 @@ }, "waist_hip_ratio": { "description": "Waist-hip ratio of the donor at the time of collection.", - "pattern": "(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?(-(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?)?$", + "pattern": "^(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?(-(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?)?$", "type": "string", "example": "0.85; 0.85-0.91; 0.88", "user_friendly": "Waist-hip ratio", diff --git a/json_schema/module/biomaterial/lifestyle.json b/json_schema/module/biomaterial/lifestyle.json index c8dc5893f..ef6e4d233 100644 --- a/json_schema/module/biomaterial/lifestyle.json +++ b/json_schema/module/biomaterial/lifestyle.json @@ -24,6 +24,48 @@ "user_friendly": "Physical activity", "example": "active - football, tennis; sedentary", "bionetworks": ["adipose","heart","musculoskeletal"] + }, + "substance_type": { + "description": "Any drug or substance the donor uses or used.", + "type": "array", + "items": { + "type": "string", + "enum": [ + "marijuana", + "cocaine", + "heroin", + "methamphetamine", + "prescription drugs (non-medical use)" + ] + }, + "example": "marijuana; cocaine; heroin; methamphetamine; prescription drugs (non-medical use)", + "guidelines": "Should be one of: marijuana; cocaine; heroin; methamphetamine; prescription drugs (non-medical use).", + "user_friendly": "Substance Type", + "bionetworks": ["heart", "oral and craniofacial", "liver", "reproduction"] + }, + "substance_frequency": { + "description": "Number of donor's substance usage per year.", + "type": "number", + "user_friendly": "Substance Use Frequency", + "minimum": 0, + "example": "12; 50; 300", + "bionetworks": ["heart", "oral and craniofacial", "liver", "reproduction"] + }, + "substance_use_duration": { + "description": "Duration of donor's substance usage in years.", + "type": "integer", + "user_friendly": "Duration Of Substance Use", + "minimum": 0, + "example": "4; 8; 20", + "bionetworks": ["heart", "oral and craniofacial", "liver", "reproduction"] + }, + "substance_duration_since_last_use": { + "description": "If donor is no longer using, specify the number of years since substance usage cessation, if available.", + "type": "integer", + "user_friendly": "Duration Since Last Substance Use", + "minimum": 0, + "example": "1; 4; 20", + "bionetworks": ["heart", "oral and craniofacial", "liver", "reproduction"] } } } diff --git a/json_schema/module/biomaterial/medical_history.json b/json_schema/module/biomaterial/medical_history.json index cbd6fd55e..109d99bd6 100644 --- a/json_schema/module/biomaterial/medical_history.json +++ b/json_schema/module/biomaterial/medical_history.json @@ -163,12 +163,46 @@ "user_friendly": "Test results", "example": "lipid panel shows normal level of LDL (124 mg/dL); HIV, HBV, HCV: Negative" }, + "diseases_history": { + "description": "Short description of known disease(s) that have previously affected the donor, but are not considered active now.", + "type": "array", + "items": { + "$ref": "module/ontology/disease_ontology.json" + }, + "user_friendly": "Diseases History", + "bionetworks": ["heart", "oral and craniofacial"] + }, "treatment": { "description": "Treatments the individual has undergone prior to biomaterial collection.", "type": "string", "user_friendly": "Treatments", "example": "Patient treated with antibiotics for a urinary tract infection; Patient treated with chemotherapy (Epirubicin, cisplatin, capecitabine) to treat stomach cancer" }, + "device_treatment": { + "description": "Device/interventional therapy 1 year before and/or at time of sample collection.", + "type": "string", + "enum": [ + "ECMO", + "IABP", + "Impella", + "LVAD", + "RVAD", + "PPM", + "ICD", + "CRT" + ], + "user_friendly": "Device Treatment", + "example": "Should be one of: ECMO, IABP, Impella, LVAD, RVAD, PPM, ICD, CRT", + "bionetworks": ["heart"] + }, + "cardioplegia": { + "description": "Cardioplegia applied right before or during time of biomaterial collection.", + "type": "boolean", + "user_friendly": "Cardioplegia", + "guidelines": "Should be one of: yes, or no.", + "example": "yes; no", + "bionetworks": ["heart"] + }, "previous_surgeries": { "description": "Previous surgeries the individual has undergone prior to biomaterial collection.", "type": "string", diff --git a/json_schema/module/biomaterial/medical_tests.json b/json_schema/module/biomaterial/medical_tests.json index 5359953cd..af7aafe70 100644 --- a/json_schema/module/biomaterial/medical_tests.json +++ b/json_schema/module/biomaterial/medical_tests.json @@ -254,6 +254,382 @@ "maximum": 200, "minimum": 0, "bionetworks": ["lung"] + }, + "ecg_heart_rate": { + "description": "Heart rate as measured by electrocardiogram in beats per minute.", + "type": "number", + "minimum": 0, + "user_friendly": "Ecg - Heart Rate", + "example": "72; 65; 80", + "bionetworks": ["heart"] + }, + "ecg_heart_rhythm": { + "user_friendly": "Ecg - Heart Rhythm", + "description": "Heart rhythm as measured by electrocardiogram.", + "type": "string", + "example": "sinus rhythm; atrial fibrillation; atrial flutter; atrial tachycardia", + "bionetworks": ["heart"] + }, + "ecg_pr_interval_duration": { + "description": "PR interval duration in ms as measured by electrocardiogram. It can be described as PQ interval duration in ECG description according to region.", + "type": "number", + "minimum": 0, + "user_friendly": "Ecg - Pr Interval Duration", + "example": "160; 140; 180", + "bionetworks": ["heart"] + }, + "ecg_qrs_complex_duration": { + "description": "QRS complex duration in ms as measured by electrocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Ecg - QRS Complex Duration", + "example": "90; 100; 110", + "bionetworks": ["heart"] + }, + "ecg_lbbb_rbbb_ivcd": { + "description": "Bundle branch block and/or delayed atrioventricular conduction as measured by electrocardiogram. LBBB - Left bundle branch block/ RBBB - right bundle branch block/ IVCD - intraventricular-conduction delay (QRSd >120ms not fulfilling LBBB or RBBB criteria).", + "type": "string", + "enum": [ + "LBBB", + "RBBB", + "IVCD" + ], + "user_friendly": "Ecg - LBBB RBBB IVCD", + "example": "Should be one of: LBBB, RBBB, IVCD.", + "bionetworks": ["heart"] + }, + "ecg_qt_interval_corrected": { + "description": "Corrected QT interval in ms as measured by electrocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Ecg - QT Interval Corrected", + "example": "420; 410; 430", + "bionetworks": ["heart"] + }, + "ecg_time_offset": { + "description": "Time between the test and the collection of the sample, measured in days.", + "type": "number", + "minimum": 0, + "user_friendly": "Ecg - Time Offset", + "example": "4; 20; 58", + "bionetworks": ["heart"] + }, + "echo_aortic_stenosis": { + "description": "Aortic stenosis as measured by echocardiogram.", + "type": "string", + "enum": [ + "no", + "mild", + "mod", + "severe" + ], + "user_friendly": "Echo - Aortic Stenosis", + "example": "Should be one of: no, mild, mod, severe.", + "bionetworks": ["heart"] + }, + "echo_aortic_regurgitation": { + "description": "Aortic regurgitation as measured by echocardiogram.", + "type": "string", + "enum": [ + "no", + "mild", + "mod", + "severe" + ], + "user_friendly": "Echo - Aortic Regurgitation", + "example": "Should be one of: no, mild, mod, severe.", + "bionetworks": ["heart"] + }, + "echo_mitral_regurgitation": { + "description": "Mitral regurgitation as measured by echocardiogram.", + "type": "string", + "enum": [ + "no", + "mild", + "mod", + "severe" + ], + "user_friendly": "Echo - Mitral Regurgitation", + "example": "Should be one of: no, mild, mod, severe.", + "bionetworks": ["heart"] + }, + "echo_mitral_stenosis": { + "description": "Mitral stenosis as measured by echocardiogram.", + "type": "string", + "enum": [ + "no", + "mild", + "mod", + "severe" + ], + "user_friendly": "Echo - Mitral Stenosis", + "example": "Should be one of: no, mild, mod, severe.", + "bionetworks": ["heart"] + }, + "echo_tricuspid_regurgitation": { + "description": "Tricuspid regurgitation as measured by echocardiogram.", + "type": "string", + "enum": [ + "no", + "mild", + "mod", + "severe" + ], + "user_friendly": "Echo - Tricuspid Regurgitation", + "example": "Should be one of: no, mild, mod, severe.", + "bionetworks": ["heart"] + }, + "echo_estimated_rvsp": { + "description": "Estimated right ventricular systolic pressure in mmHg as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - Estimated RVSP", + "example": "25; 30; 35", + "bionetworks": ["heart"] + }, + "echo_lvedv": { + "description": "Left ventricular end-diastolic volume in ml as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - LVEDV", + "example": "120; 110; 130", + "bionetworks": ["heart"] + }, + "echo_lvedv_indexed": { + "description": "Left ventricular end-diastolic volume indexed to body surface area in ml/m^2 (indexed to body surface area) as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - LVEDV Indexed", + "example": "65; 70; 60", + "bionetworks": ["heart"] + }, + "echo_lvesv": { + "description": "Left ventricular end-systolic volume in ml as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - LVESV", + "example": "50; 45; 55", + "bionetworks": ["heart"] + }, + "echo_lvesv_indexed": { + "description": "Left ventricular end-systolic volume indexed to body surface area in ml/m^2 (indexed to body surface area) as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - LVESV Indexed", + "example": "25; 30; 28", + "bionetworks": ["heart"] + }, + "echo_lvef": { + "description": "Left ventricular ejection fraction as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - LVEF", + "example": "55; 60; 65", + "bionetworks": ["heart"] + }, + "echo_lv_mass": { + "description": "Left ventricular mass in grams as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - LV Mass", + "example": "150; 160; 140", + "bionetworks": ["heart"] + }, + "echo_lv_mass_indexed": { + "description": "Left ventricular mass indexed to body surface area in g/m^2 (indexed to body surface area) as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - LV Mass Indexed", + "example": "75; 80; 70", + "bionetworks": ["heart"] + }, + "echo_rv_fac": { + "description": "Right Ventricular Fractional Area Change (RV FAC) in percentage as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - RV FAC", + "example": "40; 45; 50", + "bionetworks": ["heart"] + }, + "echo_tapse": { + "description": "Tricuspid annular plane systolic excursion (TAPSE) in mm as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - TAPSE", + "example": "20; 22; 18", + "bionetworks": ["heart"] + }, + "echo_lv_septum_thickness": { + "description": "Left ventricular septum thickness in mm as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - LV Septum Thickness", + "example": "9; 10; 11", + "bionetworks": ["heart"] + }, + "echo_pw_thickness": { + "description": "Basal posterior LV wall thickness in mm as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - PW Thickness", + "example": "9; 10; 11", + "bionetworks": ["heart"] + }, + "echo_la_dimension": { + "description": "Left atrial diameter in PLAX view in mm as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - LA Dimension", + "example": "38; 36; 40", + "bionetworks": ["heart"] + }, + "echo_lav_indexed": { + "description": "Left atrial volume indexed to body surface area in ml/m^2 (left atrial volume indexed to body surface area) as measured by echocardiogram.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - LAV Indexed", + "example": "28; 30; 32", + "bionetworks": ["heart"] + }, + "echo_time_offset": { + "description": "Time between the test and the collection of the sample, in days.", + "type": "number", + "minimum": 0, + "user_friendly": "Echo - Time Offset", + "example": "4; 20; 58", + "bionetworks": ["heart"] + }, + "mri_lvedv": { + "description": "Left ventricular end-diastolic volume in ml as measured by MRI.", + "type": "number", + "minimum": 0, + "user_friendly": "Mri - LVEDV", + "example": "140; 150; 130", + "bionetworks": ["heart"] + }, + "mri_lvedv_indexed": { + "description": "Left ventricular end-diastolic volume indexed to body surface area in ml/m^2 (indexed to body surface area) as measured by MRI.", + "type": "number", + "minimum": 0, + "user_friendly": "Mri - LVEDV Indexed", + "example": "75; 70; 80", + "bionetworks": ["heart"] + }, + "mri_lvesv": { + "description": "Left ventricular end-systolic volume in ml as measured by MRI.", + "type": "number", + "minimum": 0, + "user_friendly": "Mri - LVESV", + "example": "60; 55; 65", + "bionetworks": ["heart"] + }, + "mri_lvesv_indexed": { + "description": "Left ventricular end-systolic volume indexed to body surface area in ml/m^2 (indexed to body surface area) as measured by MRI.", + "type": "number", + "minimum": 0, + "user_friendly": "Mri - LVESV Indexed", + "example": "30; 28; 32", + "bionetworks": ["heart"] + }, + "mri_lvef": { + "description": "Left ventricular ejection fraction measured by MRI.", + "type": "number", + "minimum": 0, + "user_friendly": "Mri - LVEF", + "example": "55; 60; 58", + "bionetworks": ["heart"] + }, + "mri_lv_mass": { + "description": "Left ventricular mass in grams as measured by MRI.", + "type": "number", + "minimum": 0, + "user_friendly": "Mri - LV Mass", + "example": "130; 120; 140", + "bionetworks": ["heart"] + }, + "mri_lv_mass_indexed": { + "description": "Left ventricular mass indexed to body surface area in g/m^2 (indexed to body surface area) as measured by MRI.", + "type": "number", + "minimum": 0, + "user_friendly": "Mri - LV Mass Indexed", + "example": "65; 60; 70", + "bionetworks": ["heart"] + }, + "mri_rv_ejection_fraction": { + "description": "Right ventricular ejection fraction in percentage as measured by MRI.", + "type": "number", + "minimum": 0, + "user_friendly": "Mri - RV Ejection Fraction", + "example": "50; 55; 60", + "bionetworks": ["heart"] + }, + "mri_mid_wall_lge": { + "description": "Late gadolinium enhancement (mid wall) as measured by MRI.", + "type": "boolean", + "user_friendly": "Mri - Mid Wall LGE", + "example": "Should be one of: yes; no.", + "bionetworks": ["heart"] + }, + "mri_epicardial_lge": { + "description": "Late gadolinium enhancement (epicardial) as measured by MRI.", + "type": "boolean", + "user_friendly": "Mri - Epicardial LGE", + "example": "Should be one of: yes; no.", + "bionetworks": ["heart"] + }, + "mri_infarct_pattern_lge": { + "description": "Late gadolinium enhancement (infarct pattern) as measured by MRI.", + "type": "boolean", + "user_friendly": "Mri - Infarct Pattern LGE", + "example": "Should be one of: yes; no.", + "bionetworks": ["heart"] + }, + "mri_myocardial_oedema": { + "description": "Myocardial oedema as measured by MRI.", + "type": "boolean", + "user_friendly": "Mri - Myocardial Oedema", + "example": "Should be one of: yes; no.", + "bionetworks": ["heart"] + }, + "mri_time_offset": { + "description": "Time between the test and the collection of the sample, in days.", + "type": "number", + "minimum": 0, + "user_friendly": "Mri - Time Offset", + "example": "4; 20; 58", + "bionetworks": ["heart"] + }, + "mps_lvef": { + "user_friendly": "Mps - LVEF", + "description": "Left ventricular ejection fraction in percentage as measured by myocardial perfusion scintigraphy.", + "type": "number", + "minimum": 0, + "example": "58; 60; 62", + "bionetworks": ["heart"] + }, + "mps_inducible_ischaemic": { + "user_friendly": "Mps - Inducible Ischaemic", + "description": "Left ventricular inducible ischemic percentage as measured by myocardial perfusion scintigraphy.", + "type": "number", + "minimum": 0, + "example": "0; 5; 12", + "bionetworks": ["heart"] + }, + "mps_scar": { + "user_friendly": "Mps - Scar", + "description": "Left ventricular scar percentage as measured by myocardial perfusion scintigraphy.", + "type": "number", + "minimum": 0, + "example": "0; 3; 10", + "bionetworks": ["heart"] + }, + "mps_time_offset": { + "description": "Time between the test and the collection of the sample, in days.", + "type": "number", + "minimum": 0, + "user_friendly": "Mps - Time Offset", + "example": "4; 20; 58", + "bionetworks": ["heart"] } } } diff --git a/json_schema/type/biomaterial/specimen_from_organism.json b/json_schema/type/biomaterial/specimen_from_organism.json index 720324aca..d356685e7 100644 --- a/json_schema/type/biomaterial/specimen_from_organism.json +++ b/json_schema/type/biomaterial/specimen_from_organism.json @@ -87,11 +87,22 @@ "bionetworks": ["gut"] }, "transplant_organ": { - "description": "Was the specimen collected after extraction for organ transplantation?", - "type": "boolean", + "description": "Was the organ transplanted or explanted before biomaterial collection?", + "type": "string", + "enum": [ + "explanted organ", "transplanted organ","no transplant" + ], + "example": "explanted organ; transplanted organ; no transplant.", + "guidelines": "Should be one of: explanted organ; transplanted organ; no transplant.", "user_friendly": "Transplant organ", - "guidelines": "Should be one of: yes, or no.", - "example": "yes; no" + "bionetworks": ["heart"] + }, + "transplant_rejection_reason": { + "description": "If the organ was evaluated for transplantation but rejected give the reason for rejection.", + "type": "string", + "user_friendly": "Transplant Rejection Reason", + "example": "Rejected because underlying malignant disease; not evaluated for transplantation", + "bionetworks": ["heart"] }, "diseases": { "description": "Short description of known disease(s) of the specimen.", @@ -161,7 +172,7 @@ }, "time_to_laboratory": { "description": "Transit time in hours between tissue collection and tissue processing, meaning either storage in the laboratory or processing for sequencing.", - "pattern": "(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?(-(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?)?$", + "pattern": "^(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?(-(0|[1-9][0-9]*)(\\.(0|[0-9]*[1-9]))?)?$", "type": "string", "example": "2; 4-5; 8", "user_friendly": "Time to laboratory", diff --git a/json_schema/type/protocol/biomaterial_collection/collection_protocol.json b/json_schema/type/protocol/biomaterial_collection/collection_protocol.json index 3efe6c63c..d9b6817d9 100644 --- a/json_schema/type/protocol/biomaterial_collection/collection_protocol.json +++ b/json_schema/type/protocol/biomaterial_collection/collection_protocol.json @@ -47,20 +47,6 @@ "$ref": "module/ontology/process_type_ontology.json", "user_friendly": "Collection method" }, - "biopsy_procedure": { - "description": "Type of biopsy procedure used in the sample collection.", - "type": "string", - "enum": [ - "Bergstrom needle", - "Punch biopsy", - "Mercedes needle, dry aspiration", - "Mercedes needle, tumescent lidocaine “wet” aspiration" - ], - "user_friendly": "Type of biopsy procedure", - "example": "Bergstrom needle; Punch biopsy; Mercedes needle, dry aspiration; Mercedes needle, tumescent lidocaine “wet” aspiration", - "guidelines": "Should be one of: Bergstrom needle; Punch biopsy; Mercedes needle, dry aspiration; Mercedes needle, tumescent lidocaine “wet” aspiration", - "bionetworks": ["adipose"] - }, "procedure": { "description": "Procedure used to collect the specimen from the organism.", "type": "string", @@ -68,6 +54,20 @@ "example": "colonoscopy; venipuncture; laparoscopic surgery", "bionetworks": ["gut"] }, + "biopsy_procedure": { + "description": "Type of biopsy procedure used in the sample collection.", + "type": "string", + "enum": [ + "Bergstrom needle", + "Punch biopsy", + "Mercedes needle, dry aspiration", + "Mercedes needle, tumescent lidocaine “wet” aspiration" + ], + "user_friendly": "Type of biopsy procedure", + "example": "Bergstrom needle; Punch biopsy; Mercedes needle, dry aspiration; Mercedes needle, tumescent lidocaine “wet” aspiration", + "guidelines": "Should be one of: Bergstrom needle; Punch biopsy; Mercedes needle, dry aspiration; Mercedes needle, tumescent lidocaine “wet” aspiration.", + "bionetworks": ["adipose"] + }, "reagents": { "description": "A list of purchased reagents used in this protocol.", "type": "array", diff --git a/json_schema/update_log.csv b/json_schema/update_log.csv index 3231ff199..c1991c0f0 100644 --- a/json_schema/update_log.csv +++ b/json_schema/update_log.csv @@ -1 +1,8 @@ Schema,Change type,Change message,Version,Date +module/biomaterial/human_specific,patch,"Fixed the regex for body_mass_index, waist_circumference, waist_hip_ratio",, +type/biomaterial/specimen_from_organism,patch,"Fixed the regex for time_to_laboratory",, +module/biomaterial/medical_history,minor,"Added diseases_history, device_treatment, cardioplegia",, +module/biomaterial/medical_tests,minor,"Added mps_lvef, mps_inducible_ischaemic, mps_scar, mps_time_offset, ecg_heart_rate, ecg_heart_rhythm, ecg_pr_interval_duration, ecg_qrs_complex_duration, ecg_lbbb_rbbb_ivcd, ecg_qt_interval_corrected, ecg_time_offset, echo_aortic_stenosis, echo_aortic_regurgitation, echo_mitral_regurgitation, echo_mitral_stenosis, echo_tricuspid_regurgitation, echo_estimated_rvsp, echo_lvedv, echo_lvedv_indexed, echo_lvesv, echo_lvesv_indexed, echo_lvef, echo_lv_mass, echo_lv_mass_indexed, echo_rv_fac, echo_tapse, echo_lv_septum_thickness, echo_pw_thickness, echo_la_dimension, echo_lav_indexed, echo_time_offset, mri_lvedv, mri_lvedv_indexed, mri_lvesv, mri_lvesv_indexed, mri_lvef, mri_lv_mass, mri_lv_mass_indexed, mri_rv_ejection_fraction, mri_mid_wall_lge, mri_epicardial_lge, mri_infarct_pattern_lge, mri_myocardial_oedema, mri_time_offset",, +module/biomaterial/blood_test,minor,"Added sodium, sodium_unit, potassium, potassium_unit, urea, urea_unit, creatinine, creatinine_unit, total_bilirubin, total_bilirubin_unit",, +module/biomaterial/lifestyle,minor,"Added substance_type, substance_frequency, substance_use_duration, substance_duration_since_last_use",, +type/biomaterial/specimen_from_organism,major,"Changed the type of transplant_organ from boolean to enum and added transplant_rejection_reason",, diff --git a/tests/README.md b/tests/README.md index 427597407..0c03fb77e 100644 --- a/tests/README.md +++ b/tests/README.md @@ -26,4 +26,4 @@ npm test ### Running in vs code -The tests are visible in the "Testing" sidebar after installing [Mocha Test Explorer](https://marketplace.cursorapi.com/items/?itemName=hbenl.vscode-mocha-test-adapter) +The tests are visible in the "Testing" sidebar after installing [Mocha Test Explorer](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-mocha-test-adapter) diff --git a/tests/schema_test_files/project/test_fail_project_0.json b/tests/schema_test_files/project/test_fail_project_0.json index 1e532b843..09612b2cc 100644 --- a/tests/schema_test_files/project/test_fail_project_0.json +++ b/tests/schema_test_files/project/test_fail_project_0.json @@ -1,6 +1,6 @@ { - "describedBy": "https://schema.dev.data.humancellatlas.org/type/project/5.1.0/project", - "schema_version": "5.1.0", + "describedBy": "https://schema.dev.data.humancellatlas.org/type/project/20.0.0/project", + "schema_version": "20.0.0", "schema_type": "project", "project_core": { "project_title": "Project 1", @@ -19,5 +19,6 @@ "grant_id": "BB/P0000001/1", "organization": "Biotechnology and Biological Sciences Research Council (BBSRC)" } - ] + ], + "data_use_restriction" : "NRES" } \ No newline at end of file diff --git a/tests/schema_test_files/project/test_pass_project_0.json b/tests/schema_test_files/project/test_pass_project_0.json index 042ac794b..ad7237c3b 100644 --- a/tests/schema_test_files/project/test_pass_project_0.json +++ b/tests/schema_test_files/project/test_pass_project_0.json @@ -1,6 +1,6 @@ { - "describedBy": "https://schema.dev.data.humancellatlas.org/type/project/14.1.0/project", - "schema_version": "14.1.0", + "describedBy": "https://schema.dev.data.humancellatlas.org/type/project/20.0.0/project", + "schema_version": "20.0.0", "schema_type": "project", "project_core": { "project_short_name": "P1", @@ -20,5 +20,6 @@ "grant_id": "BB/P0000001/1", "organization": "Biotechnology and Biological Sciences Research Council (BBSRC)" } - ] + ], + "data_use_restriction" : "NRES" } \ No newline at end of file