WAD-API is the REST interface for WAD-QC. It is intended to ease building of new reporting tools, and enables a remote PACS to trigger the WAD-Selector.
The REST interface can only be accessed by dedicated REST users. The only exception is the WAD-Selector trigger, which is accessible to anyone.
REST uses can have one of these roles:
- rest_minor: only basic functions
- rest_major: basic and advanced functions
- rest_full: basic, advanced, and administrative functions
The following api routes are implemented, response is JSON-data; the minimum REST role is indicated.
- POST /api/authenticate --> post user and password, get a jwt-token back (rest_minor)
- POST /api/verifytoken --> post a jwt-token, token is checked, usefull for automatic logon (rest_minor)
- GET /api/selectors --> list of all selectors (rest_major)
- GET /api/selectors/x --> selector with id=x (rest_major)
- GET /api/selectors/x/results --> list of all results of selector with id=x (rest_major)
- GET /api/selectors/x/results/y --> result with id=y of selector with id=x (rest_major)
- GET /api/selectors/x/results/y/dicom --> data-id and data-source of result with id=y of selector with id=x (rest_major)
- GET /api/selectors/x/results/last --> last result (based on datetime test) of selector with id=x (rest_major)
- GET /api/selectors/x/results/y/tests/z/t --> test with id=z and type=t of result with id=y of selector with id=x (rest_major)
- GET /api/wadselector?studyid=x&source=y --> Trigger to start WAD_Selector with studyid=x and source=y (anyone)
All routes are protected, authentication can be done with a valid jwt-token or basic http authentication.
Use WAD-Admin to create a REST user with the correct role.