From b3fd4751b17e292017e9ba2b5c8c1d5d46e5283f Mon Sep 17 00:00:00 2001 From: Mirco Nasuti <mirco.nasuti@chuv.ch> Date: Fri, 2 Sep 2016 10:24:28 +0200 Subject: [PATCH] variables metadata into meta-db --- .gitignore | 1 - .../PersistenceConfiguration.java | 7 + .../eu/hbp/mip/controllers/GroupsApi.java | 30 +- .../eu/hbp/mip/controllers/VariablesApi.java | 40 +- src/main/resources/data/variables.json | 2107 ----------------- 5 files changed, 46 insertions(+), 2139 deletions(-) delete mode 100644 src/main/resources/data/variables.json diff --git a/.gitignore b/.gitignore index 7ab25eb2c..533ab0d6d 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,3 @@ target/ .DS_Store .m2 *.jar -src/main/resources/data/ diff --git a/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java b/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java index 09812b521..e7533bd90 100644 --- a/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java +++ b/src/main/java/eu/hbp/mip/configuration/PersistenceConfiguration.java @@ -47,6 +47,13 @@ public class PersistenceConfiguration { return new JdbcTemplate(dataSource()); } + @Bean + @Autowired + @Qualifier("jdbcTemplateMeta") + public JdbcTemplate jdbcTemplateMeta() { + return new JdbcTemplate(metaDataSource()); + } + @Bean(name = "metaEntityManagerFactory") @DependsOn("flyway") public LocalContainerEntityManagerFactoryBean metaEntityManagerFactory() { diff --git a/src/main/java/eu/hbp/mip/controllers/GroupsApi.java b/src/main/java/eu/hbp/mip/controllers/GroupsApi.java index 4fa08179d..297d33e55 100644 --- a/src/main/java/eu/hbp/mip/controllers/GroupsApi.java +++ b/src/main/java/eu/hbp/mip/controllers/GroupsApi.java @@ -7,22 +7,22 @@ package eu.hbp.mip.controllers; import com.google.gson.Gson; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import com.google.gson.stream.JsonReader; import eu.hbp.mip.model.Group; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiResponse; import io.swagger.annotations.ApiResponses; import org.apache.log4j.Logger; +import org.postgresql.util.PGobject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.ResponseEntity; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.support.rowset.SqlRowSet; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RestController; -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; - import static org.springframework.http.MediaType.APPLICATION_JSON_VALUE; @RestController @@ -32,10 +32,12 @@ public class GroupsApi { private static final Logger LOGGER = Logger.getLogger(GroupsApi.class); - private static final String VARIABLES_FILE = "data/variables.json"; - private static String groups; + @Autowired + @Qualifier("jdbcTemplateMeta") + private JdbcTemplate jdbcTemplateMeta; + @ApiOperation(value = "Get the root group (containing all subgroups)", response = Group.class) @ApiResponses(value = { @ApiResponse(code = 200, message = "Success") }) @@ -48,20 +50,22 @@ public class GroupsApi { return ResponseEntity.ok(new Gson().fromJson(groups, Object.class)); } - private static void loadGroups() { + private void loadGroups() { if(groups == null) { - InputStream is = VariablesApi.class.getClassLoader().getResourceAsStream(VARIABLES_FILE); - InputStreamReader isr = new InputStreamReader(is); - BufferedReader br = new BufferedReader(isr); + String sqlQuery = "SELECT * FROM meta_variables"; + SqlRowSet data = jdbcTemplateMeta.queryForRowSet(sqlQuery); + data.next(); + String json = ((PGobject) data.getObject("hierarchy")).getValue(); + + JsonObject root = new Gson().fromJson(json, JsonObject.class); - JsonObject root = new Gson().fromJson(new JsonReader(br), JsonObject.class); removeVariablesRecursive(root); groups = new Gson().toJson(root); } } - private static void removeVariablesRecursive(JsonObject element) { + private void removeVariablesRecursive(JsonObject element) { if (element.has("groups")){ for(JsonElement child : element.getAsJsonArray("groups")) { removeVariablesRecursive(child.getAsJsonObject()); diff --git a/src/main/java/eu/hbp/mip/controllers/VariablesApi.java b/src/main/java/eu/hbp/mip/controllers/VariablesApi.java index 62f386374..aa04555a2 100644 --- a/src/main/java/eu/hbp/mip/controllers/VariablesApi.java +++ b/src/main/java/eu/hbp/mip/controllers/VariablesApi.java @@ -9,16 +9,16 @@ import com.google.gson.Gson; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import com.google.gson.stream.JsonReader; -import eu.hbp.mip.model.Variable; import io.swagger.annotations.*; import org.apache.log4j.Logger; +import org.postgresql.util.PGobject; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Qualifier; import org.springframework.http.ResponseEntity; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.support.rowset.SqlRowSet; import org.springframework.web.bind.annotation.*; -import java.io.BufferedReader; -import java.io.InputStream; -import java.io.InputStreamReader; import java.util.LinkedList; import java.util.List; @@ -31,10 +31,12 @@ public class VariablesApi { private static final Logger LOGGER = Logger.getLogger(VariablesApi.class); - private static final String VARIABLES_FILE = "data/variables.json"; - private static LinkedList<String> variables; + @Autowired + @Qualifier("jdbcTemplateMeta") + private JdbcTemplate jdbcTemplateMeta; + @ApiOperation(value = "Get variables", response = List.class, responseContainer = "List") @ApiResponses(value = { @ApiResponse(code = 200, message = "Success") }) @@ -123,31 +125,33 @@ public class VariablesApi { ) { LOGGER.info("Get groups and variables hierarchy"); - InputStream is = Variable.class.getClassLoader().getResourceAsStream(VARIABLES_FILE); - InputStreamReader isr = new InputStreamReader(is); - BufferedReader br = new BufferedReader(isr); + String sqlQuery = "SELECT * FROM meta_variables"; + SqlRowSet data = jdbcTemplateMeta.queryForRowSet(sqlQuery); + data.next(); + String json = ((PGobject) data.getObject("hierarchy")).getValue(); - Object hierarchy = new Gson().fromJson(new JsonReader(br), Object.class); + Object hierarchy = new Gson().fromJson(json, Object.class); return ResponseEntity.ok(hierarchy); } - private static void loadVariables() { + private void loadVariables() { if(variables == null) { - InputStream is = VariablesApi.class.getClassLoader().getResourceAsStream(VARIABLES_FILE); - InputStreamReader isr = new InputStreamReader(is); - BufferedReader br = new BufferedReader(isr); + String sqlQuery = "SELECT * FROM meta_variables"; + SqlRowSet data = jdbcTemplateMeta.queryForRowSet(sqlQuery); + data.next(); + String json = ((PGobject) data.getObject("hierarchy")).getValue(); - JsonObject root = new Gson().fromJson(new JsonReader(br), JsonObject.class); - variables = new LinkedList<>(); + JsonObject root = new Gson().fromJson(json, JsonObject.class); + variables = new LinkedList<>(); extractVariablesRecursive(root); } } - private static void extractVariablesRecursive(JsonObject element) { + private void extractVariablesRecursive(JsonObject element) { if (element.has("groups")){ for(JsonElement child : element.getAsJsonArray("groups")) { extractVariablesRecursive(child.getAsJsonObject()); diff --git a/src/main/resources/data/variables.json b/src/main/resources/data/variables.json deleted file mode 100644 index a59785ddd..000000000 --- a/src/main/resources/data/variables.json +++ /dev/null @@ -1,2107 +0,0 @@ -{ - "groups": [ - { - "groups": [ - { - "groups": [ - { - "groups": [ - { - "groups": [ - { - "groups": [], - "variables": [ - { - "description": "Right Accumbens Area", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right Accumbens Area", - "code": "RightAccumbensArea", - "length": 20 - }, - { - "description": "Left Accumbens Area", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left Accumbens Area", - "code": "LeftAccumbensArea", - "length": 20 - }, - { - "description": "Right Caudate", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right Caudate", - "code": "RightCaudate", - "length": 20 - }, - { - "description": "Left Caudate", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left Caudate", - "code": "LeftCaudate", - "length": 20 - }, - { - "description": "Right Pallidum", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right Pallidum", - "code": "RightPallidum", - "length": 20 - }, - { - "description": "Left Pallidum", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left Pallidum", - "code": "LeftPallidum", - "length": 20 - }, - { - "description": "Right Putamen", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right Putamen", - "code": "RightPutamen", - "length": 20 - }, - { - "description": "Left Putamen", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left Putamen", - "code": "LeftPutamen", - "length": 20 - } - ], - "label": "Basal Ganglia", - "code": "basal_ganglia" - }, - { - "groups": [], - "variables": [ - { - "description": "Right Amygdala", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right Amygdala", - "code": "RightAmygdala", - "length": 20 - }, - { - "description": "Left Amygdala", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left Amygdala", - "code": "LeftAmygdala", - "length": 20 - } - ], - "label": "Amygdala", - "code": "amygdala" - } - ], - "label": "Cerebral nuclei", - "code": "cerebral_nuclei" - }, - { - "groups": [], - "variables": [ - { - "type": "real", - "description": "Entorhinal UCSF Entorhinal mm3", - "label": "Entorhinal", - "code": "Entorhinal", - "methodology": "adni-merge" - }, - { - "description": "Right anterior cingulate gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right anterior cingulate gyrus", - "code": "RightACgGanteriorcingulategyrus", - "length": 20 - }, - { - "description": "Left anterior cingulate gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left anterior cingulate gyrus", - "code": "LeftACgGanteriorcingulategyrus", - "length": 20 - }, - { - "description": "Right entorhinal area", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right entorhinal area", - "code": "RightEntentorhinalarea", - "length": 20 - }, - { - "description": "Left entorhinal area", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left entorhinal area", - "code": "LeftEntentorhinalarea", - "length": 20 - }, - { - "description": "Right middle cingulate gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right middle cingulate gyrus", - "code": "RightMCgGmiddlecingulategyrus", - "length": 20 - }, - { - "description": "Left middle cingulate gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left middle cingulate gyrus", - "code": "LeftMCgGmiddlecingulategyrus", - "length": 20 - }, - { - "description": "Right posterior cingulate gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right posterior cingulate gyrus", - "code": "RightPCgGposteriorcingulategyrus", - "length": 20 - }, - { - "description": "Left posterior cingulate gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left posterior cingulate gyrus", - "code": "LeftPCgGposteriorcingulategyrus", - "length": 20 - }, - { - "description": "Right parahippocampal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right parahippocampal gyrus", - "code": "RightPHGparahippocampalgyrus", - "length": 20 - }, - { - "description": "Left parahippocampal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left parahippocampal gyrus", - "code": "LeftPHGparahippocampalgyrus", - "length": 20 - } - ], - "label": "Limbic", - "code": "limbic" - }, - { - "groups": [], - "variables": [ - { - "description": "Right fusiform gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right fusiform gyrus", - "code": "RightFuGfusiformgyrus", - "length": 20 - }, - { - "description": "Left fusiform gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left fusiform gyrus", - "code": "LeftFuGfusiformgyrus", - "length": 20 - }, - { - "description": "Right inferior temporal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right inferior temporal gyrus", - "code": "RightITGinferiortemporalgyrus", - "length": 20 - }, - { - "description": "Left inferior temporal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left inferior temporal gyrus", - "code": "LeftITGinferiortemporalgyrus", - "length": 20 - }, - { - "description": "Right middle temporal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right middle temporal gyrus", - "code": "RightMTGmiddletemporalgyrus", - "length": 20 - }, - { - "description": "Left middle temporal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left middle temporal gyrus", - "code": "LeftMTGmiddletemporalgyrus", - "length": 20 - }, - { - "description": "Right planum polare", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right planum polare", - "code": "RightPPplanumpolare", - "length": 20 - }, - { - "description": "Left planum polare", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left planum polare", - "code": "LeftPPplanumpolare", - "length": 20 - }, - { - "description": "Right planum temporale", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right planum temporale", - "code": "RightPTplanumtemporale", - "length": 20 - }, - { - "description": "Left planum temporale", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left planum temporale", - "code": "LeftPTplanumtemporale", - "length": 20 - }, - { - "description": "Right superior temporal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right superior temporal gyrus", - "code": "RightSTGsuperiortemporalgyrus", - "length": 20 - }, - { - "description": "Left superior temporal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left superior temporal gyrus", - "code": "LeftSTGsuperiortemporalgyrus", - "length": 20 - }, - { - "description": "Right temporal pole", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right temporal pole", - "code": "RightTMPtemporalpole", - "length": 20 - }, - { - "description": "Left temporal pole", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left temporal pole", - "code": "LeftTMPtemporalpole", - "length": 20 - }, - { - "description": "Right transverse temporal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right transverse temporal gyrus", - "code": "RightTTGtransversetemporalgyrus", - "length": 20 - }, - { - "description": "Left transverse temporal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left transverse temporal gyrus", - "code": "LeftTTGtransversetemporalgyrus", - "length": 20 - } - ], - "label": "Temporal", - "code": "temporal" - }, - { - "groups": [], - "variables": [ - { - "description": "Right calcarine cortex", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right calcarine cortex", - "code": "RightCalccalcarinecortex", - "length": 20 - }, - { - "description": "Left calcarine cortex", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left calcarine cortex", - "code": "LeftCalccalcarinecortex", - "length": 20 - }, - { - "description": "Right cuneus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right cuneus", - "code": "RightCuncuneus", - "length": 20 - }, - { - "description": "Left cuneus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left cuneus", - "code": "LeftCuncuneus", - "length": 20 - }, - { - "description": "Right inferior occipital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right inferior occipital gyrus", - "code": "RightIOGinferioroccipitalgyrus", - "length": 20 - }, - { - "description": "Left inferior occipital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left inferior occipital gyrus", - "code": "LeftIOGinferioroccipitalgyrus", - "length": 20 - }, - { - "description": "Right lingual gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right lingual gyrus", - "code": "RightLiGlingualgyrus", - "length": 20 - }, - { - "description": "Left lingual gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left lingual gyrus", - "code": "LeftLiGlingualgyrus", - "length": 20 - }, - { - "description": "Right middle occipital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right middle occipital gyrus", - "code": "RightMOGmiddleoccipitalgyrus", - "length": 20 - }, - { - "description": "Left middle occipital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left middle occipital gyrus", - "code": "LeftMOGmiddleoccipitalgyrus", - "length": 20 - }, - { - "description": "Right occipital pole", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right occipital pole", - "code": "RightOCPoccipitalpole", - "length": 20 - }, - { - "description": "Left occipital pole", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left occipital pole", - "code": "LeftOCPoccipitalpole", - "length": 20 - }, - { - "description": "Right occipital fusiform gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right occipital fusiform gyrus", - "code": "RightOFuGoccipitalfusiformgyrus", - "length": 20 - }, - { - "description": "Left occipital fusiform gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left occipital fusiform gyrus", - "code": "LeftOFuGoccipitalfusiformgyrus", - "length": 20 - }, - { - "description": "Right superior occipital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right superior occipital gyrus", - "code": "RightSOGsuperioroccipitalgyrus", - "length": 20 - }, - { - "description": "Left superior occipital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left superior occipital gyrus", - "code": "LeftSOGsuperioroccipitalgyrus", - "length": 20 - } - ], - "label": "Occipital", - "code": "occipital" - }, - { - "groups": [], - "variables": [ - { - "description": "Right angular gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right angular gyrus", - "code": "RightAnGangulargyrus", - "length": 20 - }, - { - "description": "Left angular gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left angular gyrus", - "code": "LeftAnGangulargyrus", - "length": 20 - }, - { - "description": "Right postcentral gyrus medial segment", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right postcentral gyrus medial segment", - "code": "RightMPoGpostcentralgyrusmedialsegment", - "length": 20 - }, - { - "description": "Left postcentral gyrus medial segment", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left postcentral gyrus medial segment", - "code": "LeftMPoGpostcentralgyrusmedialsegment", - "length": 20 - }, - { - "description": "Right precuneus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right precuneus", - "code": "RightPCuprecuneus", - "length": 20 - }, - { - "description": "Left precuneus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left precuneus", - "code": "LeftPCuprecuneus", - "length": 20 - }, - { - "description": "Right postcentral gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right postcentral gyrus", - "code": "RightPoGpostcentralgyrus", - "length": 20 - }, - { - "description": "Left postcentral gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left postcentral gyrus", - "code": "LeftPoGpostcentralgyrus", - "length": 20 - }, - { - "description": "Right supramarginal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right supramarginal gyrus", - "code": "RightSMGsupramarginalgyrus", - "length": 20 - }, - { - "description": "Left supramarginal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left supramarginal gyrus", - "code": "LeftSMGsupramarginalgyrus", - "length": 20 - }, - { - "description": "Right superior parietal lobule", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right superior parietal lobule", - "code": "RightSPLsuperiorparietallobule", - "length": 20 - }, - { - "description": "Left superior parietal lobule", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left superior parietal lobule", - "code": "LeftSPLsuperiorparietallobule", - "length": 20 - } - ], - "label": "Parietal", - "code": "parietal" - }, - { - "groups": [ - ], - "variables": [ - { - "description": "Right anterior orbital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right anterior orbital gyrus", - "code": "RightAOrGanteriororbitalgyrus", - "length": 20 - }, - { - "description": "Left anterior orbital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left anterior orbital gyrus", - "code": "LeftAOrGanteriororbitalgyrus", - "length": 20 - }, - { - "description": "Right central operculum", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right central operculum", - "code": "RightCOcentraloperculum", - "length": 20 - }, - { - "description": "Left central operculum", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left central operculum", - "code": "LeftCOcentraloperculum", - "length": 20 - }, - { - "description": "Right frontal operculum", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right frontal operculum", - "code": "RightFOfrontaloperculum", - "length": 20 - }, - { - "description": "Left frontal operculum", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left frontal operculum", - "code": "LeftFOfrontaloperculum", - "length": 20 - }, - { - "description": "Right frontal pole", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right frontal pole", - "code": "RightFRPfrontalpole", - "length": 20 - }, - { - "description": "Left frontal pole", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left frontal pole", - "code": "LeftFRPfrontalpole", - "length": 20 - }, - { - "description": "Right gyrus rectus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right gyrus rectus", - "code": "RightGRegyrusrectus", - "length": 20 - }, - { - "description": "Left gyrus rectus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left gyrus rectus", - "code": "LeftGRegyrusrectus", - "length": 20 - }, - { - "description": "Right lateral orbital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right lateral orbital gyrus", - "code": "RightLOrGlateralorbitalgyrus", - "length": 20 - }, - { - "description": "Left lateral orbital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left lateral orbital gyrus", - "code": "LeftLOrGlateralorbitalgyrus", - "length": 20 - }, - { - "description": "Right medial frontal cortex", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right medial frontal cortex", - "code": "RightMFCmedialfrontalcortex", - "length": 20 - }, - { - "description": "Left medial frontal cortex", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left medial frontal cortex", - "code": "LeftMFCmedialfrontalcortex", - "length": 20 - }, - { - "description": "Right middle frontal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right middle frontal gyrus", - "code": "RightMFGmiddlefrontalgyrus", - "length": 20 - }, - { - "description": "Left middle frontal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left middle frontal gyrus", - "code": "LeftMFGmiddlefrontalgyrus", - "length": 20 - }, - { - "description": "Right medial orbital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right medial orbital gyrus", - "code": "RightMOrGmedialorbitalgyrus", - "length": 20 - }, - { - "description": "Left medial orbital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left medial orbital gyrus", - "code": "LeftMOrGmedialorbitalgyrus", - "length": 20 - }, - { - "description": "Right precentral gyrus medial segment", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right precentral gyrus medial segment", - "code": "RightMPrGprecentralgyrusmedialsegment", - "length": 20 - }, - { - "description": "Left precentral gyrus medial segment", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left precentral gyrus medial segment", - "code": "LeftMPrGprecentralgyrusmedialsegment", - "length": 20 - }, - { - "description": "Right superior frontal gyrus medial segment", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right superior frontal gyrus medial segment", - "code": "RightMSFGsuperiorfrontalgyrusmedialsegment", - "length": 20 - }, - { - "description": "Left superior frontal gyrus medial segment", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left superior frontal gyrus medial segment", - "code": "LeftMSFGsuperiorfrontalgyrusmedialsegment", - "length": 20 - }, - { - "description": "Right opercular part of the inferior frontal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right opercular part of the inferior frontal gyrus", - "code": "RightOpIFGopercularpartoftheinferiorfrontalgyrus", - "length": 20 - }, - { - "description": "Left opercular part of the inferior frontal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left opercular part of the inferior frontal gyrus", - "code": "LeftOpIFGopercularpartoftheinferiorfrontalgyrus", - "length": 20 - }, - { - "description": "Right orbital part of the inferior frontal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right orbital part of the inferior frontal gyrus", - "code": "RightOrIFGorbitalpartoftheinferiorfrontalgyrus", - "length": 20 - }, - { - "description": "Left orbital part of the inferior frontal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left orbital part of the inferior frontal gyrus", - "code": "LeftOrIFGorbitalpartoftheinferiorfrontalgyrus", - "length": 20 - }, - { - "description": "Right parietal operculum", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right parietal operculum", - "code": "RightPOparietaloperculum", - "length": 20 - }, - { - "description": "Left parietal operculum", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left parietal operculum", - "code": "LeftPOparietaloperculum", - "length": 20 - }, - { - "description": "Right posterior orbital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right posterior orbital gyrus", - "code": "RightPOrGposteriororbitalgyrus", - "length": 20 - }, - { - "description": "Left posterior orbital gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left posterior orbital gyrus", - "code": "LeftPOrGposteriororbitalgyrus", - "length": 20 - }, - { - "description": "Right precentral gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right precentral gyrus", - "code": "RightPrGprecentralgyrus", - "length": 20 - }, - { - "description": "Left precentral gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left precentral gyrus", - "code": "LeftPrGprecentralgyrus", - "length": 20 - }, - { - "description": "Right subcallosal area", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right subcallosal area", - "code": "RightSCAsubcallosalarea", - "length": 20 - }, - { - "description": "Left subcallosal area", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left subcallosal area", - "code": "LeftSCAsubcallosalarea", - "length": 20 - }, - { - "description": "Right superior frontal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right superior frontal gyrus", - "code": "RightSFGsuperiorfrontalgyrus", - "length": 20 - }, - { - "description": "Left superior frontal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left superior frontal gyrus", - "code": "LeftSFGsuperiorfrontalgyrus", - "length": 20 - }, - { - "description": "Right supplementary motor cortex", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right supplementary motor cortex", - "code": "RightSMCsupplementarymotorcortex", - "length": 20 - }, - { - "description": "Left supplementary motor cortex", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left supplementary motor cortex", - "code": "LeftSMCsupplementarymotorcortex", - "length": 20 - }, - { - "description": "Right triangular part of the inferior frontal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right triangular part of the inferior frontal gyrus", - "code": "RightTrIFGtriangularpartoftheinferiorfrontalgyrus", - "length": 20 - }, - { - "description": "Left triangular part of the inferior frontal gyrus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left triangular part of the inferior frontal gyrus", - "code": "LeftTrIFGtriangularpartoftheinferiorfrontalgyrus", - "length": 20 - } - ], - "label": "Frontal", - "code": "frontal" - }, - { - "groups": [], - "variables": [ - { - "description": "Right anterior insula", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right anterior insula", - "code": "RightAInsanteriorinsula", - "length": 20 - }, - { - "description": "Left anterior insula", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left anterior insula", - "code": "LeftAInsanteriorinsula", - "length": 20 - }, - { - "description": "Right posterior insula", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right posterior insula", - "code": "RightPInsposteriorinsula", - "length": 20 - }, - { - "description": "Left posterior insula", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left posterior insula", - "code": "LeftPInsposteriorinsula", - "length": 20 - } - ], - "label": "Insula", - "code": "insula" - } - ], - "label": "Grey matter volume", - "code": "grey_matter_volume" - }, - { - "groups": [ - { - "groups": [], - "variables": [ - { - "type": "real", - "description": "Ventricles UCSF Ventricles mm3. ", - "label": "Ventricles", - "code": "Ventricles", - "methodology": "adni-merge" - } - ], - "label": "Ventricule", - "code": "ventricule" - } - ], - "label": "CSF", - "code": "csf" - }, - { - "groups": [ - { - "groups": [], - "variables": [ - { - "description": "Right Ventral DC", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right Ventral DC", - "code": "RightVentralDC", - "length": 20 - }, - { - "description": "Left Ventral DC", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left Ventral DC", - "code": "LeftVentralDC", - "length": 20 - } - ], - "label": "Diencephalon", - "code": "diencephalon" - } - ], - "label": "White matter volume", - "code": "white_matter_volume" - } - ], - "label": "Brain anatomy", - "code": "brain_anatomy" - }, - { - "groups": [], - "variables": [ - { - "type": "real", - "description": "Hippocampus UCSF Hippocampus mm3", - "label": "Hippocampus", - "code": "Hippocampus", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "WholeBrain UCSF WholeBrain mm3", - "label": "Whole Brain", - "code": "WholeBrain", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Fusiform UCSF Fusiform mm3", - "label": "Fusiform", - "code": "Fusiform", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "MidTemp UCSF Med Temp mm3", - "label": "MidTemp", - "code": "MidTemp", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "ICV UCSF ICV mm3", - "label": "ICV", - "code": "ICV", - "methodology": "adni-merge" - }, - { - "description": "Right Hippocampus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right Hippocampus", - "code": "RightHippocampus", - "length": 20 - }, - { - "description": "Left Hippocampus", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left Hippocampus", - "code": "LeftHippocampus", - "length": 20 - }, - { - "description": "Right Thalamus Proper", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Right Thalamus Proper", - "code": "RightThalamusProper", - "length": 20 - }, - { - "description": "Left Thalamus Proper", - "units": "cm3", - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Left Thalamus Proper", - "code": "LeftThalamusProper", - "length": 20 - } - ], - "label": "Grey matter surface", - "code": "grey_matter_surface" - } - ], - "label": "Brain", - "code": "brain" - }, - { - "groups": [ - { - "groups": [], - "variables": [ - { - "type": "integer", - "description": "Visit Number from the baseline", - "label": "Visit Number", - "code": "VisitNumber", - "methodology": "lren-nmm-volumes" - }, - { - "type": "integer", - "description": "Total Number of Visits since the baseline", - "label": "Total Number of Visits", - "code": "TotalVisits", - "methodology": "lren-nmm-volumes" - } - ], - "label": "number", - "code": "number" - }, - { - "groups": [], - "variables": [ - { - "type": "real", - "description": "Period Time between the EXAMDATE (clinical evaluation) and the scan examdate ", - "label": "Period Time", - "code": "PeriodTime", - "methodology": "lren-nmm-volumes" - } - ], - "label": "period", - "code": "period" - } - ], - "label": "visit", - "code": "visit" - }, - { - "groups": [ - { - "groups": [ - { - "groups": [], - "variables": [ - { - "description": "Apolipoprotein E (APOE) e4 allele: is the strongest risk factor for Late Onset Alzheimer Disease (LOAD). At least one copy of APOE-e4 ", - "methodology": "adni-merge", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "APOE4", - "code": "APOE4" - }, - { - "description": "APOE", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "APOE", - "code": "APOE" - }, - { - "description": "rs3818361_T", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs3818361_T", - "code": "rs3818361_T" - }, - { - "description": "rs744373_C", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs744373_C", - "code": "rs744373_C" - }, - { - "description": "rs190982_G", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs190982_G", - "code": "rs190982_G" - }, - { - "description": "rs1476679_C", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs1476679_C", - "code": "rs1476679_C" - }, - { - "description": "rs11767557_C", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs11767557_C", - "code": "rs11767557_C" - }, - { - "description": "rs11136000_T", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs11136000_T", - "code": "rs11136000_T" - }, - { - "description": "rs610932_A", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs610932_A", - "code": "rs610932_A" - }, - { - "description": "rs3851179_A", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs3851179_A", - "code": "rs3851179_A" - }, - { - "description": "rs17125944_C", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs17125944_C", - "code": "rs17125944_C" - }, - { - "description": "rs10498633_T", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs10498633_T", - "code": "rs10498633_T" - }, - { - "description": "rs3764650_G", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs3764650_G", - "code": "rs3764650_G" - }, - { - "description": "rs3865444_T", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs3865444_T", - "code": "rs3865444_T" - }, - { - "description": "rs2718058_G", - "methodology": "lren-nmm-volumes", - "type": "polynominal", - "enumerations": [ - { "code": 0, "value": 0 }, - { "code": 1, "value": 1 }, - { "code": 2, "value": 2 } - ], - "label": "rs2718058_G", - "code": "rs2718058_G" - } - ], - "label": "APOE", - "code": "APOE" - } - ], - "label": "polymorphism", - "code": "polymorphism" - } - ], - "label": "Genetic", - "code": "genetic" - }, - { - "groups": [ - { - "groups": [], - "variables": [ - { - "type": "polynominal", - "enumerations": [ - { "code": "Married", "value": "Married" }, - { "code": "Widowed", "value": "Widowed" }, - { "code": "Divorced", "value": "Divorced" }, - { "code": "Never married", "value": "Never married" }, - { "code": "Unknown", "value": "Unknown" } - ], - "description": " Participant Marital Status. 1=Married; 2=Widowed; 3=Divorced; 4=Never married; 5=Unknown", - "label": "Participant Marital Status", - "code": "PTMARRY", - "methodology": "adni-merge" - } - ], - "label": "marital", - "code": "marital" - }, - { - "groups": [], - "variables": [ - { - "type": "polynominal", - "enumerations": [ - { "code": "Am Indian/Alaskan", "value": "American Indian or Alaskan Native" }, - { "code": "Asian", "value": "Asian" }, - { "code": "Hawaiian/Other PI", "value": "Native Hawaiian or Other Pacific Islander" }, - { "code": "Black/African American", "value": "Black or African American" }, - { "code": "More than one race", "value": "More than one race" }, - { "code": "White", "value": "White" }, - { "code": "Unknown", "value": "Unknown" } - ], - "description": "Race. 1=American Indian or Alaskan Native; 2=Asian; 3=Native Hawaiian or Other Pacific Islander; 4=Black or African American; 5=White; 6=More than one race; 7=Unknown", - "label": "Participant Racial Category", - "code": "PTRACCAT", - "methodology": "adni-merge" - } - ], - "label": "country", - "code": "country" - }, - { - "groups": [], - "variables": [ - { - "type": "polynominal", - "enumerations": [ - { "code": "Hisp/Latino", "value": "Hispanic or Latino" }, - { "code": "Not Hisp/Latino", "value": "Not Hispanic or Latino" }, - { "code": "Unknown", "value": "Unknown" } - ], - "description": "Ethnicity. 1=Hispanic or Latino; 2=Not Hispanic or Latino; 3=Unknown", - "label": "Participant Ethnicity", - "code": "PTETHCAT", - "methodology": "adni-merge" - } - ], - "label": "ethny", - "code": "ethny" - }, - { - "groups": [], - "variables": [ - { - "description": "Participant Education.Education expressed in years", - "length": 2, - "maxValue": 20.0, - "methodology": "adni-merge", - "type": "integer", - "label": "Participant Education", - "minValue": 0.0, - "code": "PTEDUCAT" - } - ], - "label": "education", - "code": "education" - }, - { - "groups": [], - "variables": [ - { - "description": "Participant Gender. Gender: refers to the socially constructed characteristics of women and men.", - "length": 1, - "methodology": "adni-merge", - "type": "binominal", - "enumerations": [ - { "code": "Male", "value": "Male" }, - { "code": "Female", "value": "Female" } - ], - "label": "Participant Gender", - "code": "PTGENDER" - } - ], - "label": "genre", - "code": "genre" - }, - { - "groups": [], - "variables": [ - { - "description": "Participant Date of Birth. Age (Chronological age): refers to the calendar age. It is the number of years that have elapsed from birth to the exam date.", - "length": 3, - "maxValue": 130.0, - "methodology": "adni-merge", - "type": "real", - "label": "Age Baseline", - "minValue": 0.0, - "code": "AGE" - }, - { - "description": "Participant Date of Birth. Age (Chronological age): refers to the calendar age. It is the number of years that have elapsed from birth to the exam date.", - "length": 3, - "maxValue": 130.0, - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Age", - "minValue": 0.0, - "code": "Exam-Age" - }, - { - "description": "Participant Date of Birth. Age (Chronological age): refers to the calendar age. It is the number of years that have elapsed from birth to the exam date.", - "length": 3, - "maxValue": 130.0, - "methodology": "lren-nmm-volumes", - "type": "real", - "label": "Age", - "minValue": 0.0, - "code": "MRI-Age" - }, - { - "description": "PTDOBYY", - "length": 4, - "methodology": "lren-nmm-volumes", - "type": "integer", - "label": "PTDOBYY", - "minValue": 0.0, - "code": "PTDOBYY" - }, - { - "description": "PTDOBMM", - "maxValue": 12.0, - "methodology": "lren-nmm-volumes", - "type": "integer", - "label": "PTDOBMM", - "minValue": 0.0, - "code": "PTDOBMM" - } - ], - "label": "age", - "code": "age" - } - ], - "label": "demographic", - "code": "demographic" - }, - { - "groups": [ - { - "groups": [], - "variables": [ - { - "type": "polynominal", - "enumerations": [ - { "code": "NL", "value": "NL" }, - { "code": "LMCI", "value": "LMCI" }, - { "code": "EMCI", "value": "EMCI" }, - { "code": "AD", "value": "AD" }, - { "code": "SMC", "value": "SMC" } - ], - "label": "Diagnostic Status Baseline", - "description": "Diagnostic status based in clinical/cognitive evaluation (AD, MCI, NC). ADNI1 baseline diagnosis at VISCODE==\"bl,\" 1=NL;2=MCI;3=AD", - "code": "DX", - "methodology": "adni-merge" - }, - { - "type": "polynominal", - "enumerations": [ - { "code": "NL", "value": "NL" }, - { "code": "LMCI", "value": "LMCI" }, - { "code": "EMCI", "value": "EMCI" }, - { "code": "AD", "value": "AD" } - ], - "label": "GroupBL", - "description": "GroupBL", - "code": "GroupBL", - "methodology": "lren-nmm-volumes" - }, - { - "type": "polynominal", - "enumerations": [ - { "code": "NL", "value": "NL" }, - { "code": "MCI", "value": "MCI" }, - { "code": "Dementia", "value": "Dementia" }, - { "code": "NL to MCI", "value": "NL to MCI" }, - { "code": "MCI to Dementia", "value": "MCI to Dementia" }, - { "code": "NL to Dementia", "value": "NL to Dementia" }, - { "code": "MCI to NL", "value": "MCI to NL" }, - { "code": "Dementia to MCI", "value": "Dementia to MCI" }, - { "code": "Dementia to NL", "value": "Dementia to NL" } - ], - "label": "Conversion", - "description": "Conversion", - "code": "Conversion", - "methodology": "lren-nmm-volumes" - } - ], - "label": "diagnostic", - "code": "diagnostic" - }, - { - "groups": [ - { - "groups": [], - "variables": [ - { - "type": "real", - "label": "CDRSB", - "description": "Clinical Dementia Rating. CDR is derived from the scores in each of the six categories (“box scores\"): 1. Memory\n2. Orientation 3. Judgment and Problem Solving 4. Community Affairs 5. Home and Hobbies 6. Personal Care (0, 0.5…5)", - "code": "CDRSB", - "methodology": "adni-merge" - } - ], - "label": "CDRSB", - "code": "cdrsb" - }, - { - "groups": [], - "variables": [ - { - "type": "integer", - "maxValue": 30, - "minValue": 0, - "label": "FAQ", - "description": "FAQ Total Score (0-30). The FAQ measures activities of daily living. Sum of 10 subscores (0=Normal (0);1=Never did, but could do now (0);2=Never did, would have difficulty now (1);3=Has difficulty, but does by self (1);4=Requires assistance (2);5=Dependent (3)", - "code": "FAQ", - "methodology": "adni-merge" - } - ], - "label": "FAQ", - "code": "faq" - }, - { - "groups": [], - "variables": [ - { - "type": "integer", - "maxValue": 30, - "minValue": 0, - "label": "MoCA", - "description": "Montreal Cognitive Assessment (MoCA). was designed as a rapid screening instrument for mild cognitive dysfunction. It assesses different cognitive domains: a ttention and concentration, executive functions, memory, language, visuoconstructional skills, conceptual thinking, calculations, and orientation. Time to administer the MoCA is approximately 10 minutes. The total possible score is 30 points; a score of 26 or above is considered normal. This test was not applied in ADNI-I.", - "code": "MOCA", - "methodology": "adni-merge" - } - ], - "label": "MOCA", - "code": "moca" - }, - { - "groups": [], - "variables": [ - { - "type": "real", - "description": "RAVLT (forgetting). Test of episodic memory. Recall and recognize 15 words after a 30-minute delay interval.", - "label": "RAVLT forgetting", - "code": "RAVLT_forgetting", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "RAVLT (learning). Test of episodic memory. Recall and recognize 15 words after a 30-minute delay interval.", - "label": "RAVLT learning", - "code": "RAVLT_learning", - "methodology": "adni-merge" - }, - { - "type": "real", - "maxValue": 100.0, - "minValue": 2.0, - "description": "RAVLT (percent forgetting). Test of episodic memory. Recall and recognize 15 words after a 30-minute delay interval.", - "label": "RAVLT percent forgetting", - "code": "RAVLT_perc_forgetting", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "RAVLT (immediate). Test of episodic memory. Recall 15 words immediately after an intervening interference list", - "label": "RAVLT immediate", - "code": "RAVLT_immediate", - "methodology": "adni-merge" - } - ], - "label": "RAVLT", - "code": "ravlt" - }, - { - "groups": [], - "variables": [ - { - "type": "integer", - "maxValue": 30, - "minValue": 0, - "label": "MMSE", - "description": "MMSE Total score. Mini-Mental State Examination (MMSE): is a global assessment of cognitive status (Folstein et al., 1975).The MMSE is a fully structured scale that consists of 30 points grouped into seven categories. A perfect score is 30 points; a score of 24 is the recommended, and most frequently used, cutpoint for dementia; a score of 23 or lower indicates dementia. ", - "code": "MMSE", - "methodology": "adni-merge" - } - ], - "label": "MMSE", - "code": "mmse" - }, - { - "groups": [], - "variables": [ - { - "type": "real", - "label": "ADAS11", - "description": "ADAS Total score-11 items. Classic 70 point total. Excludes Q4 (Delayed Word Recall) and Q14 (Number Cancellation).", - "code": "ADAS11", - "methodology": "adni-merge" - }, - { - "type": "real", - "label": "ADAS13", - "description": "ADAS Total score-13 items. 85 point total including Q4 (Delayed Word Recall) and Q14 (Number Cancellation). The ADAS is a brief cognitive test battery that assesses learning and memory, language production, language comprehension, constructional praxis, ideational praxis, and orientation.", - "code": "ADAS13", - "methodology": "adni-merge" - } - ], - "label": "ADAS", - "code": "adas" - }, - { - "groups": [], - "variables": [ - { - "type": "real", - "description": "Participant ECog - Mem. memory 8 items (memory1-memory8). Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2).", - "label": "EcogPtMem", - "code": "EcogPtMem", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Participant ECog - Lang. language 9 items (lang1-lang9). Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogPtLang", - "code": "EcogPtLang", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Participant ECog - Vis/Spat. visuo-spatial 7 items (visspat1-visspat4, visspat6-visspat8 :visspat5 is a duplicated field (see DATADIC.csv)).Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogPtVisspat", - "code": "EcogPtVisspat", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Participant ECog - Plan. planning 5 items (plan1-plan5). Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogPtPlan", - "code": "EcogPtPlan", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Participant ECog - Organ. organization 6 items (organ1-organ6). Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogPtOrgan", - "code": "EcogPtOrgan", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Participant ECog - Div atten. divided attention 4 items (divatt1-divatt4).Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogPtDivatt", - "code": "EcogPtDivatt", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Participant ECog - Total. total score 39 items. Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogPtTotal", - "code": "EcogPtTotal", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Study Partner ECog - Mem at baseline. memory 8 items (memory1-memory8). Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2).", - "label": "EcogSPMem", - "code": "EcogSPMem", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Study Partner ECog - Lang. language 9 items (lang1-lang9). Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogSPLang", - "code": "EcogSPLang", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Study Partner ECog - Vis/Spat. visuo-spatial 7 items (visspat1-visspat4, visspat6-visspat8 :visspat5 is a duplicated field (see DATADIC.csv)).Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogSPVisspat", - "code": "EcogSPVisspat", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Study Partner ECog - Plan. planning 5 items (plan1-plan5). Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogSPPlan", - "code": "EcogSPPlan", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Study Partner ECog - Organ. organization 6 items (organ1-organ6). Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogSPOrgan", - "code": "EcogSPOrgan", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Study Partner ECog - Div atten. divided attention 4 items (divatt1-divatt4).Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogSPDivatt", - "code": "EcogSPDivatt", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Study Partner ECog - Total. total score 39 items. Everyday Cognition-Participant Self Report (Only applied in ADNIGO, 2). ", - "label": "EcogSPTotal", - "code": "EcogSPTotal", - "methodology": "adni-merge" - } - ], - "label": "ECoG", - "code": "ecog" - } - ], - "label": "cognition", - "code": "cognition" - } - ], - "label": "clinical", - "code": "clinical" - }, - { - "groups": [ - { - "groups": [], - "variables": [ - { - "type": "real", - "description": "MRI Scanner field strength (1.5; 3..)", - "label": "", - "code": "MRIScanner", - "methodology": "lren-nmm-volumes" - }, - { - "type": "real", - "description": "FLDSTRENG", - "label": "FLDSTRENG", - "code": "FLDSTRENG", - "methodology": "adni-merge" - }, - { - "type": "text", - "description": "MRI-Code", - "label": "MRI-Code", - "code": "MRI-Code", - "methodology": "lren-nmm-volumes" - } - ], - "label": "machine", - "code": "machine" - } - ], - "label": "brain_scan", - "code": "brain_scan" - }, - { - "groups": [ - { - "groups": [], - "variables": [ - { - "type": "real", - "description": "Average FDG-PET of angular, temporal, and posterior cingulate. Most important hypometabolic regions that are indicative of pathological metabolic change in MCI and AD.", - "label": "FDG", - "code": "FDG", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Average PIB SUVR of frontal cortex, anterior cingulate, precuneus cortex, and parietal cortex. ", - "label": "PIB", - "code": "PIB", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "AV45 Average AV45 SUVR of frontal, anterior cingulate, precuneus, and parietal cortex\nrelative to the cerebellum", - "label": "AV45", - "code": "AV45", - "methodology": "adni-merge" - } - ], - "label": "PET", - "code": "PET" - } - ], - "variables": [ - { - "type": "real", - "description": "AV45 Average AV45 SUVR of frontal, anterior cingulate, precuneus, and parietal cortex\nrelative to the cerebellum", - "label": "AV45", - "code": "AV45", - "methodology": "lren-nmm-volumes" - } - ], - "label": "brain_metabolism", - "code": "brain_metabolism" - }, - { - "groups": [ - { - "groups": [], - "variables": [ - { - "type": "integer", - "description": "ADNI Site ID (see https://www.google.com/maps/d/u/0/viewer?mid=1iju64ttr8yCx7ZFTOAz0r3haNbg)", - "label": "Site ID", - "code": "SITE", - "methodology": "adni-merge" - } - ], - "label": "source", - "code": "source" - }, - { - "groups": [], - "variables": [ - { - "type": "polynominal", - "enumerations": [ - { "code": "ADNI1", "value": "ADNI" }, - { "code": "ADNIGO", "value": "GO" }, - { "code": "ADNI2", "value": "2" } - ], - "description": "Protocol under which data was collected (ADNI1, GO or 2)", - "label": "Collection Protocol", - "code": "COLPROT", - "methodology": "adni-merge" - }, - { - "type": "polynominal", - "enumerations": [ - { "code": "ADNI1", "value": "ADNI" }, - { "code": "ADNIGO", "value": "GO" }, - { "code": "ADNI2", "value": "2" } - ], - "description": "Protocol from which subject methodologyated", - "label": "methodology Protocol", - "code": "ORIGPROT", - "methodology": "adni-merge" - } - ], - "label": "protocol", - "code": "protocol" - }, - { - "groups": [], - "variables": [ - { - "type": "date", - "description": "Date of the exam (EXAMDATE). You can extract EXAMDATE from the registry table (REGISTRY.csv) using RID, Phase, and VISCODE.", - "label": "Exam Date", - "code": "EXAMDATE", - "methodology": "adni-merge", - "length": 10 - }, - { - "type": "date", - "description": "Scan Exam Date", - "label": "Scan Date", - "code": "ScanDate", - "methodology": "lren-nmm-volumes", - "length": 10 - }, - { - "type": "text", - "description": "Visit code ( sc, scmri, bl, m03, m06, m12, m18, m24, etc) sc:screening visit, bl: baseline, m: month. See ADNI2 VISCODE2 Assignment.pdf in ADNI website", - "label": "Visit Code", - "code": "VISCODE", - "methodology": "lren-nmm-volumes" - } - ], - "label": "date", - "code": "date" - } - ], - "label": "provenance", - "code": "provenance" - }, - { - "groups": [], - "variables": [ - { - "type": "real", - "description": "Roster ID (RID) which you see in every ADNI CSV file. ", - "label": "Roster ID", - "code": "RID", - "methodology": "adni-merge", - "length": 38 - }, - { - "type": "text", - "description": "ADNI subject IDs of the form 123_S_5678 ( the last 4 digits correspond to the roster ID (RID) which you see in every CSV file)", - "label": "Subject ID (PTID)", - "code": "PTID", - "methodology": "adni-merge" - }, - { - "type": "text", - "description": "Visit code ( sc, scmri, bl, m03, m06, m12, m18, m24, etc) sc:screening visit, bl: baseline, m: month. See ADNI2 VISCODE2 Assignment.pdf in ADNI website", - "label": "Visit Code", - "code": "VISCODE", - "methodology": "adni-merge", - "length": 20 - }, - { - "type": "integer", - "description": "Months from baseline (to nearest 6 months, as continuous, based on VISCODE)", - "label": "Months from baseline (based on VISCODE)", - "code": "M", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "Months from baseline (to nearest 6 months, based on EXAMDATEs)", - "label": "Months from baseline (based on EXAMDATE)", - "code": "Month", - "methodology": "adni-merge" - }, - { - "type": "text", - "description": "FSVERSION", - "label": "FSVERSION", - "code": "FSVERSION", - "methodology": "adni-merge" - }, - { - "type": "text", - "description": "update_stamp", - "label": "update_stamp", - "code": "update_stamp", - "methodology": "adni-merge" - }, - { - "type": "real", - "description": "TIV", - "label": "TIV", - "code": "TIV", - "methodology": "lren-nmm-volumes" - } - ], - "label": "no-group", - "code": "no-group" - } - ], - "label": "root", - "code": "root" -} \ No newline at end of file -- GitLab