If you are interested in developing around MedCo, the first thing you might want to do is to follow the Local Development Deployment guide to set up the development version of MedCo.
Component orchestrating the MedCo query at the clinical site. Implements the resource-side of the PIC-SURE API. It communicates with medco-unlynx to execute the distributed cryptographic protocols.
The software executing the distributed cryptographic protocols, based on Unlynx.
The i2b2 stack (all the cells).
The query translation and broadcasting layer.
Nginx web server serving Glowing Bear and the javascript crypto module.
ETL tool to encrypt and load data into MedCo.
OpenID Connect identity provider, providing user management and their authentication to MedCo.
The SQL database used by all other services, contains all the data.
A web-based administration tool for the PostgreSQL database.
Web server and (HTTPS-enabled) reverse proxy.
PHP processor running with FPM (FastCGI Process Manager), used by Nginx. Executes the PHP code needed to serve the genomic annotations.
The default data loaded in MedCo is a small artificially generated dataset, appropriate to test a fresh deployment. The same data is replicated on all the nodes. Note that as of now it is encrypted using the test keys, i.e. the ones used for deployment profiles dev-local-3nodes
and test-local-3nodes
.
It contains 4 patients: 1 (real), 2 (real), 3 (real), 4 (dummy).
And 3 concepts: 1, 2, and 3.
The observation fact contains the following entries:
patient 1, concept 1
patient 2, concept 1
patient 2, concept 2
patient 3, concept 2
patient 3, concept 3
patient 4, concept 1
patient 4, concept 2
patient 4, concept 3
Example queries and expected results:
1 AND 2: 1 (patient 2)
2 AND 3: 1 (patient 3)
1 AND 2 AND 3: 0
(1 OR 2): 3 (patients 1, 2 and 3)
(1 OR 3) AND 2: 1 (patients 2 and 3)