arrow-left

All pages
gitbookPowered by GitBook
1 of 3

Loading...

Loading...

Loading...

System Architecture

../_images/system_architecture_v0.2.png

hashtag
Containers

hashtag
medco-connector

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.

hashtag
medco-unlynx

The software executing the distributed cryptographic protocols, based on Unlynx.

hashtag
i2b2

The i2b2 stack (all the cells).

hashtag
picsure

The query translation and broadcasting layer.

hashtag
glowing-bear-medco

Nginx web server serving Glowing Bear and the javascript crypto module.

hashtag
medco-loader

ETL tool to encrypt and load data into MedCo.

hashtag
keycloak

OpenID Connect identity provider, providing user management and their authentication to MedCo.

hashtag
postgresql

The SQL database used by all other services, contains all the data.

hashtag
pg-admin

A web-based administration tool for the PostgreSQL database.

hashtag
nginx

Web server and (HTTPS-enabled) reverse proxy.

hashtag
php-fpm

PHP processor running with FPM (FastCGI Process Manager), used by Nginx. Executes the PHP code needed to serve the genomic annotations.

Description of the default test data

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)

  • Developer Guide

    • System Architecture

      • Containers

    If you are interested in developing around MedCo, the first thing you might want to do is to follow the guide to set up the development version of MedCo.

    medco-connector
    medco-unlynx
    i2b2
    picsure
    glowing-bear-medco
    medco-loader
    keycloak
    postgresql
    pg-admin
    nginx
    php-fpm
    Description of the default test data
    Local Development Deployment