Metadata-Version: 2.1
Name: mcl.infirmary
Version: 1.0.2
Summary: 🏥 Infirmary: an API for Clinical Data for the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions
Home-page: https://github.com/MCLConsortium/mcl.infirmary
Author: Sean Kelly
Author-email: sean.kelly@jpl.nasa.gov
License: ALv2
Description: # 🏥 Infirmary
        
        Welcome to "Infirmary", the [ReST-based](https://restfulapi.net/) [application programming interface](https://www.mulesoft.com/resources/api/what-is-an-api) for the [Clinical Data component](https://github.com/MCLConsortium/clinical-data) of the the [Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions](https://mcl.nci.nih.gov/). This project, along with [Sickbay](https://github.com/MCLConsortium/clinical-data/tree/master/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:
        
        ```console
        python3 bootstrap.py
        bin/buildout
        bin/infirmary --debug
        ```
        
        To create and register the image:
        
        ```console
        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.
        
        ### 1.0.2
        
        This release updates [Sickbay](https://pypi.org/project/mcl.sickbay/) to 1.0.2.
        
        
        ### 1.0.1
        
        This release updates [Sickbay](https://pypi.org/project/mcl.sickbay/) to 1.0.1 and is used in the v2 API endpoint.
        
        
        ### 1.0.0
        
        This release adds a handler for `/` which apparently is required for [JPL](https://www.jpl.nasa.gov/) to complete its security scan.
        
        
        ### 0.0.6
        
        This release upgrades [Sickbay](https://pypi.org/project/mcl.sickbay/) to 1.0.0.
        
        
        ### 0.0.5
        
        This release upgrades [Sickbay](https://pypi.org/project/mcl.sickbay/) to 0.0.10.
        
        
        ### 0.0.4
        
        This release upgrades [Sickbay](https://pypi.org/project/mcl.sickbay/) to 0.0.9.
        
        
        ### 0.0.3
        
        This release upgrades [Sickbay](https://pypi.org/project/mcl.sickbay/) to 0.0.7; see issue https://github.com/MCLConsortium/mcl.infirmary/issues/2.
        
        
        ### 0.0.2
        
        -   [Issue 1](https://github.com/MCLConsortium/mcl.infirmary/issues/1)
            -   Adds version (and [Sickbay](https://pypi.org/project/mcl.sickbay/) version) to the `/ping` endpoint
            -   Add `--version` command-line option
            -   Announces the version to the `info` log at start-up
        -   Updates [mcl.sickbay](https://pypi.org/project/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 🤷‍♀️
        
Keywords: rest api web clinical data lesions cancer
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: Pyramid
Classifier: Framework :: Buildout
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Healthcare Industry
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Database :: Front-Ends
Classifier: Topic :: Scientific/Engineering :: Bio-Informatics
Description-Content-Type: text/markdown
