Initial minimal REST API
...
Method | URL | Parameters | Description | Notes |
---|---|---|---|---|
GET POST | /query
| aql | Execute an AQL | QL1 GET has a max limit on the query length that will be too short for some queries. (Also if using GET make sure that the server sends proper caching headers.) Should we allow both POST and GET? Added post for querying to allow loooong queries |
POST | /q/{query-language} | Stores query, generates query-id and redirects to resulting resource (se rows below) | QL2 (see http://www.biomedcentral.com/1472-6947/13/57) By default the query-id could be a SHA hash of the query itself (that way repeated identical queries do not need to be re-parsed/stored) If we want to support different query languages (or query language versions) we might want urls on the form q/{QUERY_LANGUAGE}/ (examples: /q/AQL, /q/AQL2/, /q/AQLinXQuery/) | |
GET | q/{query-language}/{query-id} | the dynamic parameters defined when query was stored | Executes named query (using dynamic parameters) | QL2 |
GET | /ehr/{ehrId}/q/{query-language}/{query-id} | the dynamic parameters defined when query was stored | Executes stored query (using named parameters) | QL2 |
...
EHRScape API https://www.ehrscape.com/reference.html and https://www.ehrscape.com/referenceapi-explorer.html
Applying representational state transfer (REST) architecture to archetype-based electronic health record systems (Erik Sundvall et. al.): http://www.biomedcentral.com/1472-6947/13/57
Corresponding test implementation (LiU-EEE) available at https://github.com/LiU-IMT/EEE/,
html for the index page of the demo server https://github.com/LiU-IMT/EEE/blob/master/src/main/resources/www-file-root/index.html
Possibly interesting java Restlet routers: https://github.com/LiU-IMT/EEE/tree/master/src/main/java/se/liu/imt/mi/eee/ehr
- Ian M has a Word doc [please link/attach it here]
- Koray: Amundsen 'collection type'
- PhD thesis of Roy Fielding, where the REST-architecture was defined and motivated: Architectural styles and the design of network-based software architectures. https://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
...