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://sqan.sca.iu.edu/
Other
8 stars 3 forks source link

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:

Requirements

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