Skip to content

πŸ₯ Infirmary: an API for Clinical Data for the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions

License

Notifications You must be signed in to change notification settings

MCLConsortium/mcl.infirmary

Repository files navigation

πŸ₯ 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 -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

About

πŸ₯ Infirmary: an API for Clinical Data for the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions

Resources

License

Stars

Watchers

Forks

Packages

No packages published