Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Deployment of profile test-network.
Deployment of profile test-local-3nodes.
export MEDCO_SETUP_DIR=~/medco MEDCO_SETUP_VER=v3.0.0
git clone --depth 1 --branch ${MEDCO_SETUP_VER} https://github.com/ldsec/medco.git ${MEDCO_SETUP_DIR}$ bash step1.sh MANDATORY [OPTIONAL]
MANDATORY:
-nn, --network_name VAL Network name (e.g. test-network-deployment)
-ni, --node_index VAL Node index (e.g. 0, 1, 2)
-dns, --node_dns_name VAL Server dns name
OPTIONAL:
-pk, --public_key VAL Unlynx node public key
-sk, --secret_key VAL Unlynx node private key
-crt, --certificate VAL Filepath to certificate (*.crt)
-k, --key VAL Filepath to certificate key (*.key)
-h, --help export MEDCO_SETUP_NETWORK_NAME=example \
MEDCO_SETUP_NODE_IDX=0 \
MEDCO_SETUP_NODE_DNS_NAME=medconode0.example.com
cd "${MEDCO_SETUP_DIR}/scripts/network-profile-tool"
bash step1.sh -nn ${MEDCO_SETUP_NETWORK_NAME} -ni ${MEDCO_SETUP_NODE_IDX} -dns ${MEDCO_SETUP_NODE_DNS_NAME}$ bash step2.sh MANDATORY [OPTIONAL]
MANDATORY:
-nn, --network_name VAL Network name (e.g. test-network-deployment)
-ni, --node_index VAL Node index (e.g. 0, 1, 2)
OPTIONAL:
-s, --secrets VAL Secret0,Secret1,...
-h, --helpcd "${MEDCO_SETUP_DIR}/scripts/network-profile-tool"
bash step2.sh -nn ${MEDCO_SETUP_NETWORK_NAME} -ni ${MEDCO_SETUP_NODE_IDX}cd "${MEDCO_SETUP_DIR}/deployments/test-network-${MEDCO_SETUP_NETWORK_NAME}-node${MEDCO_SETUP_NODE_IDX}"
make pull
make upmake load_test_dataexport MEDCO_SETUP_DIR=~/medco MEDCO_SETUP_VER=v3.0.0
git clone --depth 1 --branch ${MEDCO_SETUP_VER} https://github.com/ldsec/medco.git ${MEDCO_SETUP_DIR}
cd "${MEDCO_SETUP_DIR}/deployments/test-local-3nodes"
make pullMEDCO_NODE_HOST=medco-demo.epfl.ch
MEDCO_NODE_HTTP_SCHEME=httpscd "${MEDCO_SETUP_DIR}/deployments/test-local-3nodes"
make upmake load_test_dataThis guide walks you through the process of configuring Keycloak as a Service Provider to one or more SwitchAAI identity provider(s), in order for MedCo to rely on SwitchAAI for user authentication.
test_explore_count_global_obfuscatedOFFmedco-explore.env file containing configuration options. Among them are the passwords to be set. Note that most of those passwords configured that way will only work on a fresh database. Example:cd ${MEDCO_SETUP_DIR}/test/data
bash download.sh i2b2
bash download.sh genomic_orig
bash download.sh genomic_fake
bash download.sh genomic_smallPOSTGRES_PASSWORD=postgres_password
PGADMIN_PASSWORD=pgadmin_password
KEYCLOAK_PASSWORD=keycloak_password
I2B2_WILDFLY_PASSWORD=i2b2_wildfly_password
I2B2_SERVICE_PASSWORD=i2b2_service_password
I2B2_USER_PASSWORD=i2b2_user_passwordSwitchAAI-Test Demo IdP.150.https://medco-demo.epfl.ch/.cd ${MEDCO_SETUP_DIR}/scripts
for NODE_NB in 0 1 2; do bash load-i2b2csv-data.sh \
../test/data/spo-synthetic/node_${NODE_NB} \
localhost i2b2medcosrv${NODE_NB} \
medcoconnectorsrv${NODE_NB}; \
doneexport MEDCO_SETUP_DIR=~/medco \
MEDCO_DEPLOYMENT_PROFILE=dev-local-3nodes
cd "${MEDCO_SETUP_DIR}/deployments/${MEDCO_DEPLOYMENT_PROFILE}"
docker-compose -f docker-compose.tools.yml run medco-loader-srv0 v0 \
--ont_clinical /data/genomic/tcga_cbio/8_clinical_data.csv \
--sen /data/genomic/sensitive.txt \
--ont_genomic /data/genomic/tcga_cbio/8_mutation_data.csv \
--clinical /data/genomic/tcga_cbio/8_clinical_data.csv \
--genomic /data/genomic/tcga_cbio/8_mutation_data.csv \
--output /data/
docker-compose -f docker-compose.tools.yml run medco-loader-srv1 v0 \
--ont_clinical /data/genomic/tcga_cbio/8_clinical_data.csv \
--sen /data/genomic/sensitive.txt \
--ont_genomic /data/genomic/tcga_cbio/8_mutation_data.csv \
--clinical /data/genomic/tcga_cbio/8_clinical_data.csv \
--genomic /data/genomic/tcga_cbio/8_mutation_data.csv \
--output /data/
docker-compose -f docker-compose.tools.yml run medco-loader-srv2 v0 \
--ont_clinical /data/genomic/tcga_cbio/8_clinical_data.csv \
--sen /data/genomic/sensitive.txt \
--ont_genomic /data/genomic/tcga_cbio/8_mutation_data.csv \
--clinical /data/genomic/tcga_cbio/8_clinical_data.csv \
--genomic /data/genomic/tcga_cbio/8_mutation_data.csv \
--output /data/export MEDCO_SETUP_DIR=~/medco \
MEDCO_DEPLOYMENT_PROFILE=test-network-xxx-node0
cd "${MEDCO_SETUP_DIR}/deployments/${MEDCO_DEPLOYMENT_PROFILE}"
docker-compose -f docker-compose.tools.yml run medco-loader v0 \
--ont_clinical /data/genomic/tcga_cbio/8_clinical_data.csv \
--sen /data/genomic/sensitive.txt \
--ont_genomic /data/genomic/tcga_cbio/8_mutation_data.csv \
--clinical /data/genomic/tcga_cbio/8_clinical_data.csv \
--genomic /data/genomic/tcga_cbio/8_mutation_data.csv \
--output /data/NAME:
medco-loader v0 - Load genomic data (e.g. tcga_bio dataset)
USAGE:
medco-loader v0 [command options] [arguments...]
OPTIONS:
--group value, -g value UnLynx group definition file
--entryPointIdx value, --entry value Index (relative to the group definition file) of the collective authority server to load the data
--sensitive value, --sen value File containing a list of sensitive concepts
--dbHost value, --dbH value Database hostname
--dbPort value, --dbP value Database port (default: 0)
--dbName value, --dbN value Database name
--dbUser value, --dbU value Database user
--dbPassword value, --dbPw value Database password
--ont_clinical value, --oc value Clinical ontology to load
--ont_genomic value, --og value Genomic ontology to load
--clinical value, --cl value Clinical file to load
--genomic value, --gen value Genomic file to load
--output value, -o value Output path to the .csv filesexport MEDCO_SETUP_DIR=~/medco
cd ${MEDCO_SETUP_DIR}/deployments/dev-local-3nodes/
NAME:
medco-cli-client - Command-line query tool for MedCo.
USAGE:
medco-cli-client [global options] command [command options] [arguments...]
VERSION:
dev
COMMANDS:
search Get info about the ontology elements (both concepts and modifiers) whose paths contain the search string passed as argument.
concept-children, con-c Get the concept children (both concepts and modifiers)
modifier-children, mod-c Get the modifier children
concept-info, con-i Get the concept info
modifier-info, mod-i Get the modifier info
query, q Query the MedCo network
ga-get-values, ga-val Get the values of the genomic annotations of type *annotation* whose values contain *value*
ga-get-variant, ga-var Get the variant ID of the genomic annotation of type *annotation* and value *value*
survival-analysis, srva Run a survival analysis
get-saved-cohorts, getsc get cohorts
add-saved-cohorts, addsc Create a new cohort.
update-saved-cohorts, upsc Updates an existing cohort.
remove-saved-cohorts, rmsc Remove a cohort.
cohorts-patient-list, cpl Retrieve patient list belonging to the cohort
help, h Shows a list of commands or help for one command
GLOBAL OPTIONS:
--user value, -u value OIDC user login
--password value, -p value OIDC password login
--token value, -t value OIDC token
--disableTLSCheck Disable check of TLS certificates
--outputFile value, -o value Output file for the result. Printed to stdout if omitted.
--help, -h show help
--version, -v print the versionNAME:
medco-cli-client search - Get info about the ontology elements (both concepts and modifiers) whose paths contain the search string passed as argument.
USAGE:
medco-cli-client search searchStringdocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test search testdocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test concept-children --help
NAME:
medco-cli-client concept-children - Get the concept children (both concepts and modifiers)
USAGE:
medco-cli-client concept-children conceptPathdocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test concept-children /E2ETEST/e2etest/
PATH TYPE
/E2ETEST/e2etest/1/ concept
/E2ETEST/e2etest/2/ concept
/E2ETEST/e2etest/3/ concept
/E2ETEST/modifiers/ modifier_folderdocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test modifier-children --help
NAME:
medco-cli-client modifier-children - Get the modifier children
USAGE:
medco-cli-client modifier-children modifierPath appliedPath appliedConceptdocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test modifier-children /E2ETEST/modifiers/ /e2etest/% /E2ETEST/e2etest/1/
PATH TYPE
/E2ETEST/modifiers/1/ modifierdocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test concept-info --help
NAME:
medco-cli-client concept-info - Get the concept info
USAGE:
medco-cli-client concept-info conceptPathdocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test concept-info /E2ETEST/e2etest/1/
<ExploreSearchResultElement>
<Code>ENC_ID:1</Code>
<DisplayName>E2E Concept 1</DisplayName>
<Leaf>true</Leaf>
<MedcoEncryption>
<Encrypted>true</Encrypted>
<ID>1</ID>
</MedcoEncryption>
<Metadata>
<ValueMetadata>
<ChildrenEncryptIDs></ChildrenEncryptIDs>
<CreationDateTime></CreationDateTime>
<DataType></DataType>
<EncryptedType></EncryptedType>
<EnumValues></EnumValues>
<Flagstouse></Flagstouse>
<NodeEncryptID></NodeEncryptID>
<Oktousevalues></Oktousevalues>
<TestID></TestID>
<TestName></TestName>
<Version></Version>
</ValueMetadata>
</Metadata>
<Name>E2E Concept 1</Name>
<Path>/E2ETEST/e2etest/1/</Path>
<Type>concept</Type>
</ExploreSearchResultElement>docker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test modifier-info --help
NAME:
medco-cli-client modifier-info - Get the modifier info
USAGE:
medco-cli-client modifier-info modifierPath appliedPathdocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test modifier-info /E2ETEST/modifiers/1/ /e2etest/1/
<ExploreSearchResultElement>
<Code>ENC_ID:5</Code>
<DisplayName>E2E Modifier 1</DisplayName>
<Leaf>true</Leaf>
<MedcoEncryption>
<Encrypted>true</Encrypted>
<ID>5</ID>
</MedcoEncryption>
<Metadata>
<ValueMetadata>
<ChildrenEncryptIDs></ChildrenEncryptIDs>
<CreationDateTime></CreationDateTime>
<DataType></DataType>
<EncryptedType></EncryptedType>
<EnumValues></EnumValues>
<Flagstouse></Flagstouse>
<NodeEncryptID></NodeEncryptID>
<Oktousevalues></Oktousevalues>
<TestID></TestID>
<TestName></TestName>
<Version></Version>
</ValueMetadata>
</Metadata>
<Name>E2E Modifier 1</Name>
<Path>/E2ETEST/modifiers/1/</Path>
<Type>modifier</Type>
</ExploreSearchResultElement>docker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test query --help
NAME:
medco-cli-client query - Query the MedCo network
USAGE:
medco-cli-client query [command options] [-t timing] query_string
OPTIONS:
--timing value, -t value Query timing: any|samevisit|sameinstancenum (default: "any")docker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test query enc::1 AND enc::2 OR enc::3node_name,count,patient_list,patient_set_id,DDTRequestTime,KSRequestTime,KSTimeCommunication,KSTimeExec,TaggingTimeCommunication,TaggingTimeExec,medco-connector-DDT,medco-connector-i2b2-PDO,medco-connector-i2b2-PSM,medco-connector-local-agg,medco-connector-local-patient-list-masking,medco-connector-overall,medco-connector-unlynx-key-switch-count,medco-connector-unlynx-key-switch-patient-list
0,1,[2],10,4236,311,307,0,1657,10,4266,3972,25472,1,153,34834,469,491
1,1,[2],10,584,89,75,0,474,78,677,4717,61325,16,3,66991,140,104
2,1,[2],10,669,55,45,0,576,49,709,3134,63371,0,8,67358,68,63 `type::content[::constraint]`docker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test ga-get-values --help
NAME:
medco-cli-client ga-get-values - Get the values of the genomic annotations of type *annotation* whose values contain *value*
USAGE:
medco-cli-client ga-get-values [command options] [-l limit] annotation value
OPTIONS:
--limit value, -l value Maximum number of returned values (default: 0)docker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test ga-get-values protein_change g32G325R
G32Edocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test ga-get-variant --help
NAME:
medco-cli-client ga-get-variant - Get the variant ID of the genomic annotation of type *annotation* and value *value*
USAGE:
medco-cli-client ga-get-variant [command options] [-z zygosity] [-e] annotation value
DESCRIPTION:
zygosity can be either heterozygous, homozygous, unknown or a combination of the three separated by |
If omitted, the command will execute as if zygosity was equal to "heterozygous|homozygous|unknown|"
OPTIONS:
--zygosity value, -z value Variant zygosysty
--encrypted, -e Return encrypted variant iddocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test ga-get-variant -z "heterozygous|homozygous" hugo_gene_symbol HTR5A-7039476204566471680
-7039476580443220992NAME:
medco-cli-client get-saved-cohorts - get cohorts
USAGE:
medco-cli-client get-saved-cohorts [command options] [-l limit]
DESCRIPTION:
Gets the list of cohorts.
OPTIONS:
--limit value, -l value Limits the number of retrieved cohorts. 0 means no limit. (default: 10)docker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test getscnode_index,cohort_name,cohort_id,query_id,creation_date,update_date,query_timing,panels
0,testCohort,-1,-1,2020-08-25T13:57:00Z,2020-08-25T13:57:00Z,any,"{panels:[{items:[{encrypted:false,queryTerm:/E2ETEST/SPHNv2020.1/DeathStatus/}],not:false,panelTiming:any}]}"
1,testCohort,-1,-1,2020-08-25T13:57:00Z,2020-08-25T13:57:00Z,any,"{panels:[{items:[{encrypted:false,queryTerm:/E2ETEST/SPHNv2020.1/DeathStatus/}],not:false,panelTiming:any}]}"
2,testCohort,-1,-1,2020-08-25T13:57:00Z,2020-08-25T13:57:00Z,any,"{panels:[{items:[{encrypted:false,queryTerm:/E2ETEST/SPHNv2020.1/DeathStatus/}],not:false,panelTiming:any}]}"NAME:
medco-cli-client add-saved-cohorts - Create a new cohort.
USAGE:
medco-cli-client add-saved-cohorts [command options] -c cohortName -p patientSetIDs
DESCRIPTION:
Creates a new cohort with given name. The patient set IDs correspond to explore query result IDs.
OPTIONS:
--patientSetIDs value, -p value List of patient set IDs, there must be one per node
--cohortName value, -c value Name of the new cohortdocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test addsc -c testCohort2 -p 10,10,10NAME:
medco-cli-client update-saved-cohorts - Updates an existing cohort.
USAGE:
medco-cli-client update-saved-cohorts [command options] -c cohortName -p patientSetIDs
DESCRIPTION:
Updates a new cohort with given name. The patient set IDs correspond to explore query result IDs.
OPTIONS:
--patientSetIDs value, -p value List of patient set IDs, there must be one per node
--cohortName value, -c value Name of the existing cohortdocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test upsc -c testCohort2 -p 9,9,9NAME:
medco-cli-client remove-saved-cohorts - Remove a cohort.
USAGE:
medco-cli-client remove-saved-cohorts [command options] -c cohortName
DESCRIPTION:
Removes a cohort for a given name. If the user does not have a cohort with this name in DB, an error is sent.
OPTIONS:
--cohortName value, -c value Name of the cohort to removedocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test rmsc -c testCohort2NAME:
medco-cli-client cohorts-patient-list - Retrieve patient list belonging to the cohort
USAGE:
medco-cli-client cohorts-patient-list [command options] -c cohortName [-d timer dump file]
DESCRIPTION:
Retrieve the encrypted patient list for a given cohort name and locally decrypt it.
OPTIONS:
--cohortName value, -c value Name of the new cohort
--dumpFile value, -d value Output file for the timers CSV. Printed to stdout if omitted.docker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test cpl -c testCohortNode idx 0
1137,1138,1139,1140
Node idx 1
1137,1138,1139,1140
Node idx 2
1137,1138,1139,1140NAME:
medco-cli-client survival-analysis - Run a survival analysis
USAGE:
medco-cli-client survival-analysis [command options] -l limit [-g granularity] [-c cohortID] -s startConcept [-x startModifier] -e endConcept [-y endModifier]
DESCRIPTION:
Returns the points of the survival curve
OPTIONS:
--limit value, -l value Max limit of survival analysis. (default: 0)
--granularity value, -g value Time resolution, one of [day, week, month, year] (default: "day")
--cohortID value, -c value Cohort identifier (default: -1)
--startConcept value, -s value Survival start concept
--startModifier value, -x value Survival start modifier (default: "@")
--endConcept value, -e value Survival end concept
--endModifier value, -y value Survival end modifier (default: "@")docker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test srva srva -l 2000 -g week -c 1 -s /SPHN/SPHNv2020.1/FophDiagnosis/ -e /SPHN/SPHNv2020.1/DeathStatus/ -y 126:1export MEDCO_SETUP_DIR=~/medco \
MEDCO_DEPLOYMENT_PROFILE=dev-local-3nodes
cd "${MEDCO_SETUP_DIR}/deployments/${MEDCO_DEPLOYMENT_PROFILE}"
docker-compose -f docker-compose.tools.yml run medco-loader-srv0 v1 \
--sen /data/i2b2/sensitive.txt \
--files /data/i2b2/files.toml
docker-compose -f docker-compose.tools.yml run medco-loader-srv1 v1 \
--sen /data/i2b2/sensitive.txt \
--files /data/i2b2/files.toml
docker-compose -f docker-compose.tools.yml run medco-loader-srv2 v1 \
--sen /data/i2b2/sensitive.txt \
--files /data/i2b2/files.tomlexport MEDCO_SETUP_DIR=~/medco \
MEDCO_DEPLOYMENT_PROFILE=test-network-xxx-node0
cd "${MEDCO_SETUP_DIR}/deployments/${MEDCO_DEPLOYMENT_PROFILE}"
docker-compose -f docker-compose.tools.yml run medco-loader v1 \
--sen /data/i2b2/sensitive.txt \
--files /data/i2b2/files.tomlNAME:
medco-loader v1 - Convert existing i2b2 data model
USAGE:
medco-loader v1 [command options] [arguments...]
OPTIONS:
--group value, -g value UnLynx group definition file
--entryPointIdx value, --entry value Index (relative to the group definition file) of the collective authority server to load the data
--sensitive value, --sen value File containing a list of sensitive concepts
--dbHost value, --dbH value Database hostname
--dbPort value, --dbP value Database port (default: 0)
--dbName value, --dbN value Database name
--dbUser value, --dbU value Database user
--dbPassword value, --dbPw value Database password
--files value, -f value Configuration toml with the path of the all the necessary i2b2 files
--empty, -e Empty patient and visit dimension tables (y/n){
"default-address-pools": [{
"base": "10.10.0.0/16",
"size": 24
}]
}docker: Got permission denied while trying to connect to the Docker daemon socket at ...docker volume rm dev-local-3nodes_medcodb/srv//srv/databases/srv/deployments/srv/logs










keycloak-js: has to be the same version as Keycloak (set in a Dockerfile in medco-deployment)go get -u ./...go mod tidydocker-compose -f docker-compose.tools.yml run medco-cli-client --user test --password test srva srva -l 2000 -g day -s /SPHN/SPHNv2020.1/FophDiagnosis/ -e /SPHN/SPHNv2020.1/DeathStatus/ -y 126:1cd /opt/medco/deployments/test-local-3nodes
make down
git pullMEDCO_NODE_HOST=medco-demo.epfl.ch
MEDCO_NODE_HTTP_SCHEME=https
POSTGRES_PASSWORD=xxx
PGADMIN_PASSWORD=xxx
KEYCLOAK_PASSWORD=xxx
I2B2_WILDFLY_PASSWORD=xxx
I2B2_SERVICE_PASSWORD=xxx
I2B2_USER_PASSWORD=xxx glowing-bear-medco:
environment:
- "GB_FOOTER_TEXT=Disclaimer: This demo complies with the EPFL regulations and guidelines regarding the storage and use of personal data: https://www.epfl.ch/about/overview/overview/regulations-and-guidelines/"cd /opt/medco/deployments/test-local-3nodes
make up-dcd /opt/medco
./test/data/download.sh spo_synthetic
./scripts/load-i2b2csv-data.sh test/data/spo-synthetic/node_0 localhost i2b2medcosrv0 medcoconnectorsrv0
./scripts/load-i2b2csv-data.sh test/data/spo-synthetic/node_1 localhost i2b2medcosrv1 medcoconnectorsrv1
./scripts/load-i2b2csv-data.sh test/data/spo-synthetic/node_2 localhost i2b2medcosrv2 medcoconnectorsrv2certbot renew
cp /etc/letsencrypt/live/medco-demo.epfl.ch/fullchain.pem \
/opt/medco/deployments/test-local-3nodes/configuration/certificate.crt
cp /etc/letsencrypt/live/medco-demo.epfl.ch/privkey.pem \
/opt/medco/deployments/test-local-3nodes/configuration/certificate.keycd /opt/medco/deployments/test-local-3nodes
make stop
make upcd ~
git clone -b dev https://github.com/ldsec/medco.gitcd ~/medco/deployments/dev-local-3nodes
make build$ make upmake stop
make upcd ~
git clone -b dev https://github.com/ldsec/glowing-bear-medco.gitcd ~/glowing-bear-medco/deployment
./dev-server.shmake load_test_dataMEDCO_VERSION=<docker_tag>
GLOWING_BEAR_MEDCO_VERSION=<docker_tag>X=4.75,3.17,2.37nebulaexp-alldeployments
Contains all the deployment profiles and keys used for the pg_volume_node0_XB_indexes databases.-- structure
ALTER TABLE i2b2demodata_i2b2.observation_fact
ALTER COLUMN instance_num TYPE bigint,
ALTER COLUMN text_search TYPE bigint;
-- settings
ALTER SYSTEM SET maintenance_work_mem TO '32GB';
SELECT pg_reload_conf();SELECT i2b2demodata_i2b2.obs_fact_duplication_method_1(3);SELECT i2b2demodata_i2b2.obs_fact_duplication_method_2(3);SELECT i2b2demodata_i2b2.obs_fact_reduction(2370000000);SELECT i2b2demodata_i2b2.obs_fact_indexes();volumes:
- PATH_TO_DATABASE_FILES/_data:/var/lib/postgresql/datauid = root
gid = root
[disk]
path = /disk/
comment = MedCo data (read-only)
read only = yes



















