Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/IUSCA/SQAN
Scalable Quality Assurance for Neuroimaging - (SQAN): A full-stack system solution for extracting, translating, and logging (ETL) + web portal-based quality-control verification of DICOM-formatted medical imaging data/metadata.
https://github.com/IUSCA/SQAN
Last synced: about 1 month ago
JSON representation
Scalable Quality Assurance for Neuroimaging - (SQAN): A full-stack system solution for extracting, translating, and logging (ETL) + web portal-based quality-control verification of DICOM-formatted medical imaging data/metadata.
- Host: GitHub
- URL: https://github.com/IUSCA/SQAN
- Owner: IUSCA
- License: other
- Created: 2018-01-23T20:37:30.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2023-02-01T05:17:53.000Z (almost 2 years ago)
- Last Synced: 2024-08-03T18:20:21.426Z (5 months ago)
- Language: JavaScript
- Homepage: https://sqan.sca.iu.edu/
- Size: 7.45 MB
- Stars: 8
- Watchers: 7
- Forks: 3
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesoMRI-QC - SQAN
README
# Scalable Quality Assurance for Neuroimaging - (SQAN)
## Web based instrumental & protocol quality control for medical imaging## Introduction
SQAN (formerly RADY-SCA) is a full-stack system solution for extracting, translating, and logging (ETL) + modern web portal-based quality-control verification of DICOM-format medical imaging data and metadata. SQAN consists of four principle components:
* Incoming (node.js)
* Watches for and retrieves imaging data from a transfer service (e.g. an Orthanc instance)
* Extracts and compresses metadata and stores in a database
* Quality Control (node.js)
* Performs protocol and exam-level verification on newly arrived data, and on existing data as requested
* API (node.js/ExpressJS)
* Provides authorized access to metadata and QC results
* UI (VueJS)
* Allows authorized users to view stored data, QC results, modify QC templates and access controls, comment on QC issues, alert affected researchers, and re-run QC tests
## Requirements* node.js (>8.0)
* yarn (>1.2)
* MongoDB (>3.4)
* nginx## Deployment
1. Clone this repository
2. `cd sqan && yarn install`
3. `cd config && ./genkey.sh`
* generates public/private keys for JSON Web Token signing/verification
4. `cp index.sample.js index.js`
* Modify config/index.js as needed
5. `cd ../ui/src && cp config.sample.js config.js`
* Modify ui/src/config.js as needed
6. `yarn install`
7. `yarn build`
8. Launch API
* `npm start`
9. Configure nginx to serve API/UI
10. (optional) Load sample dataset (available upon request)
11. (optional) Initiate Incoming and QC processes
* `npm run incoming`
* `npm run qc`
12. (optional) Use `pm2` or similar process manager to run API and other required processes listed above.## nginx configuration
Sample nginx configuration to serve UI and API
```
location / {
alias /usr/local/sqan/ui/dist;
index index.html;
try_files $uri $uri/ /index.html =404;
}
location /api/qc/ {
proxy_pass http://localhost:22340/;
}
```Make sure the port for the API matches that set in `config/index.js` and the location for the API matches the setting in `ui/config.js`