🏥 Infirmary: an API for Clinical Data for the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions
Project description
🏥 Infirmary
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.
⚙️ Endpoints
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.
🔧 Development
To develop locally with a local Postgres database:
python3 bootstrap.py
bin/buildout
bin/infirmary --debug
To create and register the image:
docker image build --tag mcl-infirmary:latest .
docker image tag mcl-infirmary:latest nutjob4life/mcl-infirmary:latest
docker login
docker image push nutjob4life/mcl-infirmary:latest
To explore the image:
docker container run --rm --interactive --tty --entrypoint /bin/sh mcl-infirmary:latest
📜 Changelog
Here we track the changes from release to release.
0.0.2
- Issue 1
- Adds version (and Sickbay version) to the
/ping
endpoint - Add
--version
command-line option - Announces the version to the
info
log at start-up
- Adds version (and Sickbay version) to the
- Updates mcl.sickbay dependency to 0.0.6
- Takes advantage of new consortium and protocol ID data
0.0.1
In this release, we added the changelog! 🤯
We also pin to version mcl.sickbay-0.0.5
. For some reason, we can't do a python3 setup.py install
without it pinned inside the Docker image creation 🤷♀️
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mcl.infirmary-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 096f0346e20a148d6384300cf38c01e2b83c742823d1ddc6ae94b2f8b28e5f22 |
|
MD5 | b9eb071ef4ef91e7428970d9f0018444 |
|
BLAKE2b-256 | 52191450959d388d0402622646f8d88c04fde92281c4acb61f4dcb8e6b7044f9 |