🤢 Sickbay: Clinical data model for the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions.
Project description
👩⚕️ MCL Sickbay
"MCL Sickbay" is the data model and object-relational mapping for the clinical data application of the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions.
🏃♀️ Getting Started
The "Sickbay" software provides a Python based API into a data model (a series of related classes) and takes advantage of SQLAlchemy as the object-relational mapper. This section will help you get started.
📀 The Database
For this project, we're using PostgreSQL. You can create a PostgreSQL database to use with this software as follows:
dropdb --if-exists clinical_data
dropuser --if-exists mcl
createuser \
--createdb \
--inherit \
--login \
--no-createrole \
--no-superuser \
mcl
createdb --encoding=UTF8 --owner=mcl clinical_data
🖥 The Software
To use this software, simply add mcl.sickbay
as a dependency to your project or install it into your Python virtual environment.
You can develop, build, and test the package locally as follows:
python3 bootstrap.py
bin/buildout
bin/test
You can run bin/create-demo-db
to populate a PostgreSQL database with the schema of the Sickbay data model. Add -add-test-data
to include some test data.
To publish this software, try Twine.
🔢 Versioning
We use the SemVer philosophy for versioning this software. For versions available, see the release history.
📦 Additional Resources
Some resources that provide further context for this software are as follows:
👥 Contributing
Well it's wide open right now, but later you might look at open issues, forking the project, and submitting a pull request.
📃 License
The project is licensed under the Apache version 2 license.
📜 Changelog
This documents the changes from release to release.
0.0.6
In this release:
- Base metadata for all classes now includes:
consortium
, a nullable string that can be used to contain an RDF URI to the consortium that originated the data, such ashttps://mcl.nci.nih.gov/
for the Consortium for Molecular and Cellular Characterization of Screen-Detected Lesions.protocolID
, a nullable integer that tells the research protocol that generated the data.
- Kristen's sample data (
--add-sample-data
) includes these consortium and protocol IDs
0.0.5
This release fixes:
- In
BreastOrgan
, the fieldher2_in_situ_hybridization
was the wrong enumerated type. It should've beenHER2InSituHybridization
. - In the enums, add the type
HER2InSituHybridization
. - Add test data from
12_78_BreastCore_20200625_0
. - Removed foreign key constraint from
Biospecimen.specimen_parent_ID
because the parent ID may be either another biospecimen or could be a participant (clinical core) object. - New class
AdjacentSpecimen
to work around circular dependency problem of having adjacent specimens directly onBiospeciment
. - New JSON serialization for
adjacent_specimens
onBiospecimen
- Misspelled enumeration
AnatomicalSite
:pancrease
→pancreas
- Change
create-demo-db
tocreate-clinical-db
since this is no longer a demo but the real deal - Transition from old style
setup.py
to everything insetup.cfg
In this release, 0.0.5, we also finally start keeping a changelog 😮
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.sickbay-0.0.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f38c93a8eb8547e99ec992518a6f83a9400cd358473597ecc896eee2d7afb6e |
|
MD5 | eeda41112d578b16daec48cfbac4d389 |
|
BLAKE2b-256 | 4795533cb770c1736bcf037372cba32ba040a56e2579704bad58e01577fb9c00 |