Class OpenehrQueryController

  • All Implemented Interfaces:
    QueryApiSpecification

    @RestController
    @RequestMapping(path="${openehr-api.context-path:/rest/openehr}/v1/query")
    public class OpenehrQueryController
    extends BaseController
    implements QueryApiSpecification
    Controller for openEHR REST API QUERY resource.
    Since:
    1.0
    Author:
    Jake Smolka, Renaud Subiger
    • Constructor Detail

      • OpenehrQueryController

        public OpenehrQueryController​(QueryService queryService)
    • Method Detail

      • executeAdHocQuery

        @GetMapping(path="/aql")
        @PostAuthorize("checkAbacPostQuery(@queryServiceImp.getAuditResultMap())")
        public org.springframework.http.ResponseEntity<org.ehrbase.response.openehr.QueryResponseData> executeAdHocQuery​(@RequestParam(name="q")
                                                                                                                         String query,
                                                                                                                         @RequestParam(name="offset",required=false)
                                                                                                                         Integer offset,
                                                                                                                         @RequestParam(name="fetch",required=false)
                                                                                                                         Integer fetch,
                                                                                                                         @RequestParam(name="query_parameters",required=false)
                                                                                                                         Map<String,​Object> queryParameters,
                                                                                                                         @RequestHeader(name="Accept",required=false)
                                                                                                                         String accept,
                                                                                                                         javax.servlet.http.HttpServletRequest request)
        Execute ad-hoc (non-stored) AQL query.
        Specified by:
        executeAdHocQuery in interface QueryApiSpecification
      • executeAdHocQuery

        @PostMapping(path="/aql")
        @PostAuthorize("checkAbacPostQuery(@queryServiceImp.getAuditResultMap())")
        public org.springframework.http.ResponseEntity<org.ehrbase.response.openehr.QueryResponseData> executeAdHocQuery​(@RequestBody
                                                                                                                         Map<String,​Object> queryRequest,
                                                                                                                         @RequestHeader(name="Accept",required=false)
                                                                                                                         String accept,
                                                                                                                         @RequestHeader(name="Content-Type")
                                                                                                                         String contentType,
                                                                                                                         javax.servlet.http.HttpServletRequest request)
        Execute ad-hoc (non-stored) AQL query.
        Specified by:
        executeAdHocQuery in interface QueryApiSpecification
      • executeStoredQuery

        @GetMapping(path={"/{qualified_query_name}","/{qualified_query_name}/{version}"})
        @PostAuthorize("checkAbacPostQuery(@queryServiceImp.getAuditResultMap())")
        public org.springframework.http.ResponseEntity<org.ehrbase.response.openehr.QueryResponseData> executeStoredQuery​(@PathVariable(name="qualified_query_name")
                                                                                                                          String qualifiedQueryName,
                                                                                                                          @PathVariable(name="version",required=false)
                                                                                                                          String version,
                                                                                                                          @RequestParam(name="offset",required=false)
                                                                                                                          Integer offset,
                                                                                                                          @RequestParam(name="fetch",required=false)
                                                                                                                          Integer fetch,
                                                                                                                          @RequestParam(name="query_parameters",required=false)
                                                                                                                          Map<String,​Object> queryParameter,
                                                                                                                          @RequestHeader(name="Accept",required=false)
                                                                                                                          String accept,
                                                                                                                          javax.servlet.http.HttpServletRequest request)
        Execute stored query.
        Specified by:
        executeStoredQuery in interface QueryApiSpecification
      • executeStoredQuery

        @PostMapping(path={"/{qualified_query_name}","/{qualified_query_name}/{version}"})
        @PostAuthorize("checkAbacPostQuery(@queryServiceImp.getAuditResultMap())")
        public org.springframework.http.ResponseEntity<org.ehrbase.response.openehr.QueryResponseData> executeStoredQuery​(@PathVariable(name="qualified_query_name")
                                                                                                                          String qualifiedQueryName,
                                                                                                                          @PathVariable(name="version",required=false)
                                                                                                                          String version,
                                                                                                                          @RequestHeader(name="Accept",required=false)
                                                                                                                          String accept,
                                                                                                                          @RequestHeader(name="Content-Type")
                                                                                                                          String contentType,
                                                                                                                          @RequestBody(required=false)
                                                                                                                          Map<String,​Object> queryRequest,
                                                                                                                          javax.servlet.http.HttpServletRequest request)
        Execute stored query.
        Specified by:
        executeStoredQuery in interface QueryApiSpecification