Welcome to "Infirmary", the ReST-based application programming interface for the Clinical Data component of the the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions. This project, along with Sickbay form a database for discovering clinical data.
Once deployed, this package provides the following ReST API endpoints:
Endpoint | Auth | Purpose |
---|---|---|
/ping |
Test if the server is working | |
/hello/{greeting} |
π | Test if authentication is working |
/clinicalCores |
π | Return all Clinical Cores in the database, fully serialized |
/clinicalCores/{participant_ID} |
π | Return the single Clinical Core for the named participant_ID |
/organs |
π | Return all organs in the database |
/organs/{identifier} |
π | Return the single organ with the numeric identifier |
/specimens |
π | Return all biospecimens in the database |
/specimens/{specimen_ID} |
π | Return the single biospecimen with the given specimen_ID |
/genomics |
π | Return all genomics in the database |
/genomics/{specimen_ID} |
π | Return the genomics information with the given specimens_ID |
/images |
π | Return all imaging information in the database |
/images/{identifier} |
π | Return the imaging information with the numeric identifier |
For those endpoints where the "Auth" column is dispays π, you must provide an HTTP Basic Authentication header with a username and password of a member of the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions. All of the endpoints return a JSON payload.
To develop locally with a local Postgres database:
python3 -m venv venv
venv/bin/pip install --quiet --upgrade setuptools pip wheel build
venv/bin/pip install --editable '.[dev]'
venv/bin/infirmary --debug
To create and register the image:
docker image build --tag mcl-infirmary:latest .
docker image tag mcl-infirmary:latest edrndocker/mcl-infirmary:latest
docker login
docker image push edrndocker/mcl-infirmary:latest
To explore the image:
docker container run --rm --interactive --tty --entrypoint /bin/sh mcl-infirmary:latest